Portál AbcLinuxu, 10. května 2025 20:37

Dotaz: CSS odsazeni pres BR

11.10.2008 22:48 Leoš Literák | skóre: 74 | blog: LL | Praha
CSS odsazeni pres BR
Přečteno: 1953×
Odpovědět | Admin
Ahoj,

puvodni plan nahrazovat prazdny radek dvojici znacek BR jsme na posledni chvili zmenili na <BR class="separator">. Robertovi se totiz zdala mezera mezi odstavci moc velka. V CSS jsem nastavil margin-bottom na 0.5 em, coz se jevilo funkcne. Napsal jsem migracni rutinu na stavajici data, spustil ji a zmenil tak statisice retezcu. Bohuzel az pak prisla od Roberta smska, ze toto reseni funguje pouze ve firefoxu, kdezto v IE, Konqueroru i Opere pres CSS nejde znacku BR stylovat.

Co ted? Napada nekoho z vas, zda preci jen neexistuje nejaky CSS trik, ktery z jednoho BR udela oddelovac odstavcu a to nejen ve firefoxu? Diky za vase napady.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

12.10.2008 09:37 razor | skóre: 33
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, pokud výška BR má být větší než jeden řádek, tak by snad mohlo pomoci nastavit styl např: line-height=1.5em. Zkoušel jsem to v Opera, Firefox, Konqueror. V IE nevím. Pokud ta výška má být menší než jeden řádek, tak to fungovat nebude.
12.10.2008 11:38 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Pokud ta výška má být menší než jeden řádek, tak to fungovat nebude.
To je právě ono.
12.10.2008 12:49 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Odpovědět | | Sbalit | Link | Blokovat | Admin
co takto ?
<div style="height:0.5em; width: 100%; clear: both; display: block"></div>
12.10.2008 12:58 Robert Krátký | skóre: 94 | blog: Robertův bloček
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
To by sice šlo a samozřejmě nás to napadlo (a úplně by stačila ta definice výšky), ale jako nástroj pro oddělení odstavců/zalomení řádků mi to připadá nechutné a nevhodné...
12.10.2008 21:51 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
nechutné to je, to súhlasím.
Ďalšie riešenie: nahrádzať za sekvneciu </p><p class="xyz">, a celý príspevok obaliť do <p> (popr použiť div).
Josef Kufner avatar 12.10.2008 19:44 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jediná možnost je předefinovat br z inline na block a nastavit mu, co je potřeba:
br.separator {
    display: block;
    margin-bottom: 1ex;
}
Pokud to nezabere, máš smůlu.

Raději bych to ale nahradil za </p><p> a následně prohnal přes tidy.
Hello world ! Segmentation fault (core dumped)
12.10.2008 19:48 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Nasazeno <p class="separator"></p>. Neni to pekne, ale bohuzel, nic lepsiho nemam. Jtidy je mrtvola, jine html cleanery tebou navrzenou primitivni chybu nedokazaly opravit.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
Josef Kufner avatar 12.10.2008 22:20 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Pozor na to, že <p> nelze v html vnořovat. Vzhledem k tomu, že <p> nemá povinný ukončovací tag. A i logicky (sémanticky) to je blbost ;-)
Hello world ! Segmentation fault (core dumped)
Josef Kufner avatar 12.10.2008 22:25 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Ta chyba vlastne chybou neni. Na vstupu je něco takovéhoto:
<p>Bla bla bla
 
lalala</p>
A po nahrazení prázdného řádku za "</p><p>" bude na výstupu toto:
<p>Bla bla bla
</p><p>
lalala<p>
Obojí je validní. Problém je, pokud obalující tag je div -- na to je ale potřeba to rozparsovat a znovu složit (proto tidy).
Hello world ! Segmentation fault (core dumped)
13.10.2008 07:13 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Jenze ty popisujes jeden jednoduchy pripad. Algoritmus musi fungovat za vsech okolnosti. Musi ignorovat PRE, okoli blokovych elementu (prazdny radek kolem UL, BLOCKQUOTE atd) a rozhodnout se spravne, zda text je novy odstavec bez blokoveho elementu ci ne. A ted si predstav, ze nekdo v v odstavci pouzije znacku I a pak se rozhodne, ze text je moc dlouhy a rozdeli jej na dva odstavce. Zde puvodne validni kod se po zasahu algoritmu stane nevalidnim kvuli prekrizenym tagum.

Jestli ma nekdo chut stravit nekolik tydnu ladenim nejruznejsich variant, ma moznost, zdrojaky abicka jsou GPL. Ja tuto ambici nemam.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
Josef Kufner avatar 13.10.2008 10:01 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Příští semestr mě čeká předmět "Programování v Javě", takže asi mám námět na semestrálku :-D

Jinak na tenhle jednoduchý případ se to dá s pomocí XML parseru hravě převédst vždy ;-)
Hello world ! Segmentation fault (core dumped)
13.10.2008 10:55 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Tak se tesim na vysledek :-) Doporucuji java knihovnu htmlparser, ulehci spoustu prace. Pak existuje treba tagsoap nebo htmlcleaner, ktere dokazi kus i nevalidniho HTML prevest na DOM. A pak uz je to jen o tom, spravne doplnit znacky P.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
13.10.2008 11:43 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR

Chceš tím říci, že není ani vyřešen převod na správně utvořené XHTML?

Dokud nebude tohle, tak nemá smysl řešit dělení strukturovaných textových uzlů, převod do e-mailového plain textu atd.

14.10.2008 06:42 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Samozrejme. Jaky ma smysl prosazovat XHTML, kdyz abicko je v HTML 4? Tva otazka by tedy mela znit, zda abicko donuti uzivatele psat HTML 4 validni kod a odpoved zni ano.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
14.10.2008 09:39 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR

Tak to jsem nepochopil, proč se tu lidé ohání tidy a podobnými udělátky.

Tak nějak jsem doufal, že v případě XHTML by bylo možné na všechny ty konverze udělat XSLT šablony a nemuset se tak trápit s vlastním parserem HTML. Řešení přes XSLT by totiž bylo nezávislé na ostatním kódu Abíčka. Takže by nebyl problém najít již nějaký ten konvertor hotový, nebo by jej mohl i někdo jiný udělat.

13.10.2008 10:25 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Hmm, to máš pravdu, do takej hĺbky som sa nad tým nezamyslel. Takže vlastne to potrebuješ nahrádzať za sekvenciu, ktorá je validná všade kde <br> a neporuší validitu dokumentu. Napadá ma jedine nepekné riešenie využiť uzavretú prázdnu fontová značka (<b>, <i>, <u>, ...) s príslušným class
13.10.2008 10:56 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Musel by jsi mit zasobnik otevrenych znacek a dle kontextu je pripadne nucene uzavrit a pak zase otevrit.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
13.10.2008 12:15 happy barney | skóre: 34 | blog: dont_worry_be_happy
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
nemusel, HTML podporuje ich vnáranie, t.j. <br><br> nahradiť za <u class="xyz"></u> ... rovnaké riešenie ako už odznelo s div-om.
17.10.2008 14:04 Jirka P
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
A proč to tak neudělat? To by nemělo být těžké.

Samozřejmě je nutné napřed ujasnit, co to přesně má dělat.
17.10.2008 14:41 Leoš Literák | skóre: 74 | blog: LL | Praha
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Uz jsem to tu psal, ze tech kombinaci je milion a je snadne to zvorat. Ja do toho nejdu, neni to pro mne priorita. Zdrojaky jsou k dispozici, je to open source, muzete si pohrat, mate-li cas. Jen bych pred zaclenenim zadal videt kvalitni unit test pokryvajici sirokou bazi runzych HTML snippetu.
Zakladatel tohoto portálu. Twitter, LinkedIn, blog, StackOverflow
Fluttershy, yay! avatar 17.10.2008 17:32 Fluttershy, yay! | skóre: 93 | blog:
Rozbalit Rozbalit vše Re: CSS odsazeni pres BR
Je to dost nesémantické...
🇵🇸Touch grass🇺🇦 ✊ ani boha, ani pána

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.