Sziasztok!
Érdekes dologba botlottam egy egyszerűnek tűnő HTML táblázat gyakorló feladat során:
A képen jobb oldalt felül látható, hogy mit kellene kihozni, bal oldalt a kód, és jobb oldalt alul a kapott eredmény.
Több órán át néztem a kódot és próbálgattam különböző CSS beállításokat is, viszont semmi nem működött.
Ugyanezen táblázatot SharePoint Designer-el elkészítve ha egy 6x6-os táblával indulok és bővítem a szükséges cellákat, akkor sikerül elérnem a kívánt állapotot, csak a felesleges cellák lógnak ki, viszont ha azokat törlöm, akkor a képen látható eset áll fenn.
Windows-on IE és Chrome (plusz a SP Designer), Ubuntu alatt Firefox is ezt produkálja.
Kérlek segítsetek, mert már néhány napja idegesít ez a feladat, hogy én vagyok a hülye és elkerülte a figyelmemet valami, vagy másról van szó?
(Plusz poén, hogy 9.-es diákoknak órán adtam fel a feladatot, majd óra végére, mikor már én is megcsináltam a kódot, akkor láttam, hogy valami nem stimmel. Egyik diák hasonló módon programozta, mint ahogy én SP Designer-ben csináltam és ő is hasonlót tapasztalt, tehát a plusz cellákat meghagyva működik, de azokat törölve egyből az általam tapasztalt jön ki.)
Próbáltam neten keresni, de nem találtam releváns bejegyzéseket.
- 1462 megtekintés
Hozzászólások
margin/padding?
Vagy mit szeretnél? Hogy legyenek egymás alatt?
- A hozzászóláshoz be kell jelentkezni
probald meg minden cellaban a relevans col es rowspan ertekeket is beirni. (ott is ahol 1-es)
- A hozzászóláshoz be kell jelentkezni
Ugyanaz lett az eredmény
- A hozzászóláshoz be kell jelentkezni
Tanár úr kérem, itt a megoldásom, megvan az ötös? :)
https://jsfiddle.net/kw2xs9dj/
A látvány megtévesztő, de a dolog valójában jól működik :)
A probléma abban rejlik, hogy ha nem adsz meg a celláknak szélességet és magasságot, akkor akkorák lesznek, amekkorára a bennük lévő tartalom széttolja őket. Jelen esetben a 2. és 5. oszlopnak nincs értelmes szélessége, a 2. és 5. sornak pedig magassága, mert nincs ami széttolja őket - a bennük lévő tartalom ugyanis a cella-egyesítések miatt vígan átcsúszik a "szomszédos" cella területére.
<style>
table {
width: 100%;
height: 200px;
border: 2px solid black;
border-collapse: collapse;
}
td {
width: 16.6%;
border: 2px solid black;
vertical-align: top;
}
tr {
height: 16.6%;
}
</style>
- A hozzászóláshoz be kell jelentkezni
Próbáltam korábban is méretet adni, de nem ment.
A te kódodat is átmásolva ugyanazt hozza, csak a táblázat teljes mérete lesz nagyobb, de az elrendezés ugyanazt hozza.
- A hozzászóláshoz be kell jelentkezni
Azt nem tudom, hogyan csinálod, mert nekem mindenféle böngészőből jó. A belinkelt jsfiddle oldalon is rosszul néz ki nálad?
Itt van jsfiddle nélkül:
https://egervary.hu/tablazatos/
Így néz ki böngészőben:
https://egervary.hu/tablazatos/tablazatos.png
- A hozzászóláshoz be kell jelentkezni
A jsfiddle jól hozza.
Az általad linkelt oldal is jól jeleníti meg. Viszont ha már átmásolom a forrást (CSS-el együtt), akkor ismét rosszul jelenik meg. Ubuntu alatt FireFox és Windows 7-en Chrome esetén is.
- A hozzászóláshoz be kell jelentkezni
Windows 7-en Chrome 69.0.3497.100 (64bit) és IE 11 (11.0.9600.18952)
Másik gép:
Ubuntu 18.04-en 62.0.3 (64bit)
Windows esetén Notepad++-al szerkesztve, míg Ubuntu-n Visual Studio Code.
Akármilyen CSS beállítással próbálkozok, nem lesz jó. Méreteket állítottam, szegély vastagság, összevonás, margin, spacing, padding... semmi sem használt.
Tényleg nem értem mi lehet a probléma, főleg, hogy írtam a jsfiddle és a saját oldaladon is megfelelően működik, míg ha már átmásolom a teljes kódodat, akkor ismét elrontja.
Szerk:
Saját kód jsfiddle-ben megfelelő.
Közben odaadtam több osztálynak is ezt a problémát és ők is hiába csinálják meg vagy másolják le a kódot, nekik is rosszul jelenik meg a tábla.
- A hozzászóláshoz be kell jelentkezni
Standard módot ír.
Közben fejlemény:
Másik teremben, egészen pontosan abban amelyikben először jelentkezett a probléma mauzi kolléga CSS kódját hozzárakva már rendesen jelenik meg.
Viszont akkor sem értem, hogy másik teremben és a saját gépemen miért jelenik meg ugyanezzel a kóddal rosszul.
Szerk.:
Ha a CSS fájlra hivatkozok, akkor jó. Ha style tag-be írom ugyanazt, akkor már baja van.
- A hozzászóláshoz be kell jelentkezni
Tedd fel pastebinre 1:1 azt a HTML-t, amit nézel.
- A hozzászóláshoz be kell jelentkezni
Első körben szerintem zárd ki a böngésző hibát:
<tr> <td colspan="2">r1c1</td> <td>r1c2</td> </tr> <tr> <td>r2c1</td> </tr>
Ez egyáltalán jó megjelenést ad? (egy kétsoros cella mellett jobbról két darab 1 soros cella)
Vizsgára felkészülés végett keresek "kidobásra" szánt menedzselhető Cisco switch-eket és routereket, leginkább Pest és Bács-Kiskun megye területén.
- A hozzászóláshoz be kell jelentkezni
Ha az általad írtat másolom, akkor kapok első sorba két cellát, majd az első cella alatt egy másik, ugyanakkora cellát.
Gondolom rowspan-t akartál írni. Úgy igen, van egy kétsoros cellám és mellette kettő sima cella.
Az eredeti feladat esetén amúgy, ha az első két sort megcsináltam, akkor az rendesen jelent meg, viszont amint bejött már a 3. sor 1 darab cellája, akkor már elrontotta a felosztást.
- A hozzászóláshoz be kell jelentkezni
Igen, rowspan akart lenni, csak beküldés után nem néztem át, amit írtam, mivel eredetileg más példán gondolkoztam.
Vizsgára felkészülés végett keresek "kidobásra" szánt menedzselhető Cisco switch-eket és routereket, leginkább Pest és Bács-Kiskun megye területén.
- A hozzászóláshoz be kell jelentkezni