Diskuze: problém s background pri float:left
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí HTML a CSS, jsme si ověřili nabyté zkušenosti z kurzu.
Nevím čím to je (asi v section 'není' žádný obsah), ale tohle již funguje:
section {width: 100%;}
section div.in{width: 100%;max-width: 1070px; margin: 0 auto;}
div.in div.box{background: #aaaaaa;float:left;width:36.1%;text-align: center;}
div.in div.box:first-child{width:37.3%;}
div.in div.box:last-child{width:26.6%;}
Ale to presunutie background, neni to isté, pretože ak bude obrazovka
širšia ako 1070px tak, nebude celá šírka obrazovky šedá :/
Možeš to vyskúsať tak, že do max-width daš napr. 50px.
Pokud jsem to pochopil správně a ty chceš aby se ti ty tři sloupce zbarvili šedě, tak dej
.in{display:inline-block}
Mě to tak funguje.
Pokud jsem to pochopil špatně, tak to ignoruj
Vďaka moc, len upresním, nie na .in ale na <section>
section {background: #aaaaaa;width: 100%;display:inline-block;}
Nějak jsem nepochopil, o co ti jde, ale můžeš trochu zefektivnit to css, například takto:
section {width: 100%;}
.in{width: 100%;max-width: 1070px; margin: 0 auto;}
.in-box{background: #aaaaaa;float:left;width:36.1%;text-align: center;}
.in-box:first-child{width:37.3%;}
.in-box:last-child{width:26.6%;}
pokud budeš mít delší css, tak tím, že budeš stylovat přímo elementy nebo třídy, výrazně snížíš zátěž při vykreslování stránky. A když trochu lépe popíšeš, co ti po nás chceš, tak ti možná i poradíme.
Chcem dosiahnúť to, aby na akokoľvek širokom rozlíšení malo 100% širky šedé pozadie. V tom bol obsah webu široký 1070px(alebo 100% pri užších rozlíšeniach) ktorý má 3 stĺpce kde každý má inú(pomerovo definovanú) šírku.
K riešeniu ma nakopol Filip Pýrek. Stačilo totiž pre tag <section> dopísať štýl "display:inline-block".
Ktomu tvojmu zápisu, čo významovo znamená "-" v tom zápise? Sa priznám, že som sa stýmto spôsobom ešte nestretol.
CSS zápis pomocou viac prvkov ("div.in div.box..") som použil preto, lebo div.box je na stránke viackrát, má skoro rovnaké parametre, tak aby som to nemusel definovať zakaždým celé ale stačí rozdiely.(napr. iná šírka boxu).
Uznávam, že v tom príklade stačilo po správnosti uviesť iba .box
Pomlčky používáš na oddělování slov u třídy. Není ideální
používat například třídu .box jak v (např) hlavičce, obsahu i patičce a
všude mít jiné css vlastnosti, ale místo toho mít .header-box,
.content-box, .footer-box, které si samozřejmě můžeš pojmenovat i
jinak.
Ale když použiješ
div.in div .box
tak prohlížeš projde najde nejprve všechny elementy s třídou box, poté
všechny elementy div, které obsahují třídu box, poté elementy s třídou
in které obsahují div s třídou box a na závěr divy s třídou .in
obsahující divy s třídou .box a až teď na ně aplikuje styl.
Kdežto v mém případě prohlížeč najde elementy .in-box a aplikuje styl.
Vidíš ten podstatný rozdíl?
S takýmto popisom som sa nestretol. Vďaka za vysvetlenie. Zase som o niečo
múdrejší Prekopem to.
Tento "môj" spôsob zápisu som odkukal vo firme, kde to tak vo veľkom praktizovali a mne sa to zdalo byť výhodne, keďže stačilo upraviť 1x .box a zmenilo sa to všade. Zaťial čo header-box, content-box, footer-box treba upravovať samostatne.
No to jsem nezmínil, ale ty můžeš mít stále třídu box, která bude mít společné vlastnosti, kde se nastaví třeba společná barva pozadí a písma s rámečkem, a v těch ostatních nastavuješ rozměry, odsazení a tak dále. Pak budeš mít element se třídou box a další rozšiřující.
Zobrazeno 11 zpráv z 11.