Autor Zpráva
Colinn
Profil *
Dobrý den,

mám tento problém. Potřebuju na web udělat jako menší pole pro obsah obdélník se zaoblenými rohy (natahovací). Jak jej rozřezat a nakódovat? Napadlo mě tohle řešení, ale nebude kód moc předivovaný?

<div class="vrch"></div> //vrch obdélníku
<div class="stred">
... obsah ... //střed s nastavenou barvou pozadí, natahuje se
</div>
<div class="spodek"></div> //spodek

A když chci ještě obsah rozdělit na dvě části, tedy:

<div class="levy">obsah leveho</div> //s nastaveným float: left; a right;
<div class="pravy">obsah praveho</div>

To už máme 5 divů. Jsou to dobrá řešení?

Díky za odpovědi
panther
Profil
Colinn
jde to udělat i jinak, ale:
divy se nepoužívají na věci, které jdou sémanticky řešit úplně jinak (nadpisy, odstavce, apod.)

Kulatý roh sám o sobě žádnou informaci z hlediska sémantiky nenese, nesémantický div tam tedy nemusí překážet :-) Někdo místo divů používá span s display: block;, ale je to vesměs totožné řešení.
Colinn
Profil *
Ano, o to mi přesně jde. Ať se snažím sebevíc, nemůžu přijít na to, jak to vyřešit sémanticky.
Kdyby tedy někdo ochotný poradil jak to vyřešit přes nadpisy, odstavce, apod., byl bych rád.
panther
Profil
Colinn
Kdyby tedy někdo ochotný poradil jak to vyřešit přes nadpisy, odstavce, apod., byl bych rád.
odstavec je <p>, nadpis je h1-h6, ale s kulatými rohy to nic společného nemá.
Strajk
Profil
Já bych ti to doporučil udělat takto:
<div class="obdelnik"> ... width: 400px; bg: #barva url(spodek.jpg) no-repeat center bottom;
 <h3>nadpis</h3> ... bg: url(vrsek.jpg) no-repeat center top;
 <p class="left">text</p> ... float: left; width: 200px;
 <p class="right">text</p> ... margin-left: 200px;


Šlo by to i s méně elementama ale todle je podle mě nejlepší řešení jak pro dobrej pocit ze sématiky tak pro srozumitelnej a chapatelnej kod
panther
Profil
Strajk
a když nahoře nebude nadpis a třeba obrázek?

Tvé řešení není úplně špatné, ale rozhodně ne univerzální, což je často žádoucí.
Strajk
Profil
No tak změní h3 na img, nevidim v tom problém... background a nějaký padding můžou mít oba. Navíc většinou takovéto boxy (navíc s 2 sloupcy) nějaký ten nadpis povětšinou mají
panther
Profil
Strajk
ale nejde to gobalizovat, třeba při správě obsahu přes RS apod. Zkrátka nemusí být nahoře vždy nadpis.

todle je podle mě nejlepší řešení jak pro dobrej pocit ze sématiky
myslím, že div nebo span, který obsahuje roh, je nesémantický? Neplatí, že div = nesémantika ;-)
Strajk
Profil
Prostě sem popsal situaci, která se vyskytuje nejčastěji a navrhl na ni řešení...

A pokud bude mít ten obdelník takovou strukturu tak je blbost dávat tam další 4divy jenom na rožky, když už tam potřebný elementy máš...

Ale dost toho, ať se rozhodne sám autor tématu
panther
Profil
Strajk
neříkám, že tohle s tím nadpisem nepoužívám, jen jsem řekl, že to nejde globalizovat. Pokud bys dělal třeba stránky, které by byly následně spravovány klientem, který nemá o html/css ponětí a bude používat třeba nějaký WYSIWYG editor a nebude chtít mít nahoře nadpis, ale třeba již výše zmíněný obrázek.

Navrhl jsem proto obecné, ač ne příliš vzhledné řešení, ty jsi dal další, pouřívanější, ale pro užší okruh možností. Pokud to na stránku, kterou bude Colinn spravovat sám, je vhodné to tvoje (které jsem ve svém prvním příspěvku skryl mezi „jde to udělat i jinak“).

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0