Autor Zpráva
Celda
Profil *
Dobry den,

mam layout s levym sloupcem a hlavnim blokem obsahu.

Sloupec je floatovany a ma pevnou sirku.
Obsah ma poze levy margin, aby byl odsazen o sirku leveho sloupce.

Uvnitr obsahu poterbuji nekterym elementum nastavit sirku 100%, tu vsak IE dopocita z sirky obsahu + jeho marginu a layout se rozsype.
Alternativou by bylo pouzit ovnitr obsahu misto width clear, ale ten dela jiny problem - ie pak clearuje pod levy floatovany sloupec.

Neznate nekdo figl jak se s tim vyporadat?

Uctive dekuji.

Celda
Lukáš Maixner
Profil
dd,
hodtě nám sem prosím příklad, ať to nemusíme datlovat. ;)
Celda
Profil *
Sorry, jasne, ukazka a dodatek, kvuli zpetne kompatibilite nemuzu pouzit jiny doctype (<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> by to vyresil, ale znicil bych tim kvanta veci)



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<style>
div {background-color: rgb(255, 255, 200);}
div div {background-color: rgb(255, 200, 255);}
</style>
<body>
<div style="margin-left: 200px; width: 100%;">
<div style="margin-left: 200px; width: 100%;">
asasdad
</div>
</div>
</body>
</html>
Celda
Profil *
Trochu jsem to znednodusil, asi by to chtelo vic kodu. Ale ten zakladni problem tady videt je.
Lukáš Maixner
Profil
možná jsem z toho vánočního půstu trochu natvrdlý, ale ten příklad nepopisuje situaci, kterou píšete nahoře, ne? žádné floatování, žádná pevná šířka...
Celda
Profil *
Mozna jsem natvrdly ja. Koukam jiz treti den do kodu, ve kterem je mozna cosi shnileho... Mate pravdu, ze jsem vlozil spatny priklad. Ale zkusme toto... je pravda, ze uz se do toho trochu zamotavam. IE pro tomhle vykresli horizontalni rolovaci listu, protoze vnitrni div bude mit vic nez 100% kvuli marginu, je to v poradku?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<style>
div {background-color: rgb(255, 255, 200);}
div div {background-color: rgb(255, 200, 255);}
</style>
<body>
<div style="margin-left: 200px; margin-right: 100px;">
<div style="width: 100%; margin: 5px;">
asasdad
</div>
</div>
</body>
</html>
H13
Profil
Předem upozorňuji, že neposílám radu, chci si jen ulevit:

Mám stejný problémy, IE jak 6 tak 7 mě doopravdy vytáčí, takže jsem řekl NE, když css, tak pro všechny. Od jistý doby mají slušně prohlížeče (Firefox, Opera, ...) své css a ty ostatní (IE) taky svoje css. Používám podmíněné komentáře.

Upozornění:

Rozdělení na slušné a neslušné prohlížeče - pouze můj subjektivní názor (dlouhou jsem nevytvářel layout pro IE, možná by pak kategorie vypadaly jinak)
Celda
Profil *
Napoterti, vkladam kod vcetne floatovaneho sloupce. Je tam patrne, ze se potom obsah obsahu pousne az pod tento sloupec. V IE.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
</head>
<style>
div {background-color: rgb(255, 255, 200);}
div div {background-color: rgb(255, 200, 255);}
div div div {background-color: rgb(200, 255, 255);}
div div div div {background-color: rgb(200, 255, 200);}

#sloupec {
float: left;
width: 150px;
height: 400px;
}
</style>
<body>
<div id="sloupec">
sloupec
</div>
<div style="margin-left: 200px; margin-right: 100px;">
<div style="width: 100%; margin: 0px; border: 0px solid red;">
obsah
</div>
</div>
</body>
</html>
Rellik
Profil
Celda
Měl sem ten samý problém. Nastav tomu divu který chceš aby byl na celou šířku ne 100% ale 99% pokud pod tím nemáš nějaké pozadí tak to nepujde ani poznat ;)
DJ Miky
Profil
Nebo mu nenastavuj šířku vůbec - on by se měl roztáhnout...
Lukáš Maixner
Profil
Celda
napadlo mě to obejít takto: tento div
<div style="width: 100%; margin: 0px; border: 0px solid red;">

jsem napsal jako
<div style="width: 100%; _position: absolute;">

... je to ono?

ten podtržítkový hack si samozřejmě můžete nahradit podmíněnými komentáři - ostatně předpokládám, že in-line zápis stylů používáte jen ze studijních důvodů.
Lukáš Maixner
Profil
DJ Miky
to sice ano, ale předpokládejme, že když Celda explicitně píše, že potřebuje některým elementům nastavit šířku 100 %, že k tomu má nějaký důvod.
Celda
Profil *
Diky za rady.

<div style="width: 100%; _position: absolute;"> jsem vyzkousel a nepomohlo to. Navic se trochu obavam, jestli by to nekde nerozhodilo vnitrek obsahu....

100% opravdu potrebuji, je to jakysi zakladni css na ktery se nabaluji dalsi styly a i to procento hraje roli.

Kazdopadne diky za snahu,

Celda
matqo
Profil
mal som nedavno podobny problem , zobral som si kalkulacku , poriadne som preratal vsetky sirky , odstranil som zbytocne marginy dal som obom prvkom float left a nemam problem.
Celda
Profil *
matqo

Diky, ale obavam se ze kdyz dam tomu obsahovymu float left, tak mu nepujde nastavit rozume ta 100% sirka:(
Celda
Profil *
Reseni.

_position: absolute nakonec sice vyresilo problem s odsazenim, ale delalo to mnoho problemu jinde.

ale nakonec jsem zkusl vnitrek obsahoveho bloku pro IE nafloatovat a zatim to vypada dobre.

Diky.
Celda
Psychopat
Profil *
mel sem tez problem s tim ze nepocitalo spravne 100% sirky u divu

Po delsi dobe skouseni me napadlo priradit nadrazenemu divu height:100%;

a hle... funguje to jak v IE6, tak v IE7
(spachano v xhtml 1.1)

pokud sem nemel halucinace, tak to snad bude nekomu uzitecne...
Ike
Profil *
Co zkusit clanek na alistapart.com - In Search of the Holy Grail.
Toto téma je uzamčeno. Odpověď nelze zaslat.