ugrás a tartalomhoz

html lista kilóg a div-ből

H.Z. v2 · 2011. Júl. 17. (V), 07.48
Biztosan nagyon egyszerű a magyarázat, de nem értem:

* {
 margin: 0;
 padding: 0;
}
 
.wrapper {
 width: 980px;
 height: 550px;
 background: silver;
 padding: 5px;
 margin: 40px;
 outline: 10px solid white;
 border: 1px solid black;
}
 
 
.tab {
	background: red;
	width: 250px;
	height: 100%;
	float: left;
	font-size: 8pt;
	border: 1px solid black;
}


<div class="wrapper">
 <div class="tab">
   <ol>
     <li>mokmokmokmokm</li>
     <li>mokmokmokmokm</li>   
     <li>mokmokmokmokm</li>
    </ol>
  </div>
</div>
Egy ilyen szerkezetem van és azt látom, hogy a listában szereplő tételek igazodnak a belső div bal széléhez, a hozzájuk tartozó sorszámok pedig kilógnak még a "wrapper" osztályhoz tartozó div-ből is.
Én rontok/nézek el valamit vagy ez teljesen normális viselkedés?
(ol helyett ul-t használva a pontok lógnak ki)

Másik kérdés: ha itt valójában egy menüféleséget akarok megjeleníteni, akkor mi a "hivatalosan" elfogadott módszer? Táblázat egyetlen oszloppal vagy van rá valami kulturáltabb megoldás is? Mondjuk <dl><dt>...</dt><dt>...</dt></dl>?
 
1

<div class="wrapper">

Karvaly84 · 2011. Júl. 17. (V), 08.43

    <div class="wrapper">  
     <div class="tab">  
       <ol>  
         <li>mokmokmokmokm</li>  
         <li>mokmokmokmokm</li>     
         <li>mokmokmokmokm</li>  
        </ol>  
     </div>
     <div class="clear-both"></div>
    </div>  

.clear-both {
    clear: both;
}
3

Nálam változatlan.

H.Z. v2 · 2011. Júl. 17. (V), 08.56
Nálam változatlan.
2

Másik lehetőség

Blintux · 2011. Júl. 17. (V), 08.56

.tab {  
    overflow: auto;
}
4

Ez annyit változtatott, hogy

H.Z. v2 · 2011. Júl. 17. (V), 09.00
Ez annyit változtatott, hogy eltüntette a kilógó sorszámokat.

Nomeg előjött a másik problémám, hogy ha a div-be ágyazott div-nek 100% magasságot állítok be, akkor nem veszi figyelembe a különböző border, margin, padding stb. beállításokat, emiatt a bal felső pozicionálás OK, de jobboldalon és alul kilóg a külső div-ből. :-(
5

* { margin: 0; padding:

Hidvégi Gábor · 2011. Júl. 17. (V), 09.11
* {
 margin: 0;
 padding: 0;
}
Ilyet soha ne csinálj, még ha sok helyen ezt ajánlják is. Eléggé visszafogja a teljesítményt, ha minden elemre érvényesítesz egy stílust, elég csak azokra tenni, amelyekre muszáj. Én csak a h1, h2, ..., p-kre szoktam margin: 0px;-et tenni, és paddingot rakok rájuk, valamint a html és a body elemen nullázom a margót és a paddingot.
7

Ezt már csak kínomban tettem

H.Z. v2 · 2011. Júl. 17. (V), 09.22
Ezt már csak kínomban tettem oda, mert sehogy sem akar olyan lenni, amilyennek szeretném és valamelyik tutorial ezt írta.
6

1, A számok pont amiatt

Hidvégi Gábor · 2011. Júl. 17. (V), 09.14
1, A számok pont amiatt lógnak ki, mert minden elemnek nullázód a margóját és a paddingját. <ol>-t igazából soha nem használtam, <ul>-nél az egyik böngésző a behúzást margóval, a másik paddinggal oldja meg, szóval itt játszani kell kicsit ezekkel a stílusokkal.

2, a menüt én <ul>-be szoktam tenni.
8

???? =:-o

H.Z. v2 · 2011. Júl. 17. (V), 09.27
Ezt nem értem: nullázom a paddinget és a margót. Ettől lóg ki az elem dobozából a beleírt másik elem?
Hm... izgalmasan működik. :-)
Szép az egészben, hogy próbáltam a margint 10, a padding-t 5px-re állítani, de nem látszott rajta, hogy változna a megjelenés. Most átírtam 20 és 25px-re, így már valóban belülre kerül.
Köszi.
9

list-style-position lehet még

Hidvégi Gábor · 2011. Júl. 17. (V), 10.02
list-style-position lehet még a te embered. Alapértelmezésben kifelé teszi, szóval én mondjuk egy ilyet próbálnék meg:

.lista {
  padding: 20px 0px 20px 30px;
  margin: 0px;
  list-style-position: inside;
}
10

Köszi. Kezdem kaparni a

H.Z. v2 · 2011. Júl. 17. (V), 10.12
Köszi.

Kezdem kaparni a tapétát a CSS hülyeségeitől... :-(
Rémlik, hogy sok problémát ki lehet küszöbölni egy CSS Reset beiktatásával (bár ezek inkább a böngészők közti kompatibilitási gondokon segítenek), de pl. olyat elkövetni, hogy egy üres hasáb mérete a körülötte lévő többi dobozhoz dinamikusan igazodjon. Már sokadszor merül fel bennem, hogy kevés ilyen gányolmányhoz volt szerencsém, mint a CSS...
(pláne, ha azt is hozzáveszem, hogy a böngészők képtelenek egyformán kezelni az azonos stíluslapokat)
-----------------------------
Megoldást egyelőre kösz, nem kérek rá, csak leírom, azt ami kiakasztott:
Szerettem volna egy konténert, ami két másik konténert tartalmaz. Ebből az egyik fixen a külső bal széléhez illeszkedne, a másik meg a tőle jobbra lévő teljes területet foglalná el, mindkettő némi margóval és mindkettő magasságát a külső konténerhez igazítanám.
Mindezt úgy, hogy a külső konténer méretét változtatva a beltartalom igazodjon hozzá. Na ezt CSS-ben megoldani, egyelőre úgy tűnik, hogy reménytelen. (pl. ha nem fix magasságot és szélességet adok egy DIV-nek, akkor csak akkorára terjeszti ki magát, amennyi a benne lévő tartalomnak kell.
11

A CSS-nek nagyon komoly hibái

Hidvégi Gábor · 2011. Júl. 17. (V), 11.11
A CSS-nek nagyon komoly hibái vannak, az egyik legsúlyosabb, hogy teljesen statikus, magyarul a stílusok értékei nem függhetnek másik elemekétől. Például nem adhatod meg, hogy ennek a beviteli mezőnek a szélessége legyen egyenlő a szülő szélessége mínusz 120 pixellel. Erre volt egy megoldás a Microsoft-féle CSS Expressions (más kérdés, hogy rosszul valósították meg, aztán meg egyszerűen eldobták). Most ott tartunk, hogy fejlesztenek pl. a Google-nél valami hasonlót, de hogy mikor lesz abból szabvány - ismerve a W3C "sebességét" - szerintem évtizedek.

Egyre több különböző felbontású képernyő lesz, valamelyik nap olvastam (és sajnos most nem találom), hogy egy tíz hüvelykes tabletet kb. 2048x1536-os felbontásúra fog készíteni a gyártója, magyarul egy átlag weboldal nagyon pici lesz rajta, ha meg nagyítasz, széteshet. Ez azt jelenti, hogy meg kéne szabadulni a pixel alapú weblapkészítéstől, ami nem egyszerű, mert a százalék vagy em alapúval bonyolultabb a számolás. Mondjuk sokkal könnyebb lenne szerintem a helyzet, ha a dobozmodellben visszaváltanánk a korábbira, azaz egy elem hosszában benne foglaltatna a margója, paddingja és a keret szélessége.

A HTML alapú webnek ugyanilyen problémái vannak, kezdve ott, hogy a világ nem szöveges dokumentumokból, hanem adatokból áll, azaz eleve rossz a megközelítés, és emiatt a keresés nehézkes, pontatlan, ráadásul csak szavakra lehet az esetek túlnyomó többségében.

Emellett nincs egy támogatott platform, amivel webes alkalmazásokat készíthetünk, olyasmi, mint az ExtJS, csak natívan támogatott objektumokkal, és így a HTML-lel és CSS -sel kell szenvednünk, és azok hibáival küzdeni nap mint nap.

Szerintem a W3C teljesen alkalmatlan arra, amire létrehozták, lassan dolgozik, a problémákat nem ismeri fel. Nekem úgy tűnik, mintha olyanok ülnének ott, akik soha életükben nem készítettek weboldalt, vagy ilyen jellegű problémákat nem oldottak meg, vagy pedig olyanoktól kérnek tanácsot, akik * {margin: 0px; padding: 0px;} definíciókat írnak.

Persze más döntéshozók is hibásak, a nagy cégeknek, mint pl. az Apple vagy a Google - érthető okokból - saját maguk felé hajlik a keze, és ezeket az eleve elhibázott technológiákat (HTML 5, CSS) erőltetik, ahelyett, hogy olyasmin dolgoznának, amitől mindenkinek jobb lesz.

Szerintem egy új szervezetet kéne alapítani, lecserélni a W3C-t, okulva az általuk elkövetett hibákból.
12

+1

Karvaly84 · 2011. Júl. 17. (V), 21.45
+1
13

OFF: blog

Kevlar · 2011. Júl. 19. (K), 13.42
Szia

Mi a helyzet a blogoddal? (http://szemantikus.blog.hu/) Nem fogod folytatni?

K
14

Sajnos magánéleti dolgok

Hidvégi Gábor · 2011. Júl. 19. (K), 14.39
Sajnos magánéleti dolgok miatt be kellett egy időre fejeznem az írást, de most már kezdenek rendeződni, úgyhogy tudok vele ismét foglalkozni.

Az egész célja az, hogy az adatalapú web elgondolásra adjak egy megoldást, amit kidolgoztam. Ehhez készítettem egy backend (PHP) mini-keretrendszert, vagy inkább függvénygyűjteményt, valamint a kliensoldalon is - egy már meglévő rutinkönyvtárat, a Sarissát átdolgozva és kiegészítve - írtam hozzá egy adatfeldolgozó és megjelenítő rendszert, meg persze JS nélkül is működik minden.

A backendet még ki szeretném egészíteni, aztán folytatom a blogot, ahol ezt az egészet bemutatom, és meg is osztom mindenkivel.