</br>

w dziale Opera
Sid. napisał(a):

Witam,
I mam pytanie czy opera jest w 100% kompatybilna z xhtml 1.0, a czemu pytam.
A to dlatego iż (br)(/br) , traktuje najprawdopodobniej jako 2 nowe wiersze, co na innych przeglądarkach nie ma miejsca.

archetwist napisał(a):

To chyba właśnie powinien być dowód na kompatybilność.

krato napisał(a):

Drogi @Sid Opera jeśli chodzi o kompatybilność jest kompatybilna tylko ty trochę opatrznie zrozumiałeś standard a w zasadzie połaczyłeś jego dwie wersje Strict i Transitional:
- pierwsza czyli Strict nie dopuszcza elementów z HTML tylko XHTML
- druga Transitional dopuszcza elementy ze specyfikcji HTML
Ty prawdopodobnie pisałeś w Transitional XHTL co oznacza ni mniej ni więcej że pierwszy znacznik zostanie wyświetlony jak i i drugi , poza tym drugi trochę źle napisałeś bo Każdy znacznik w XHTML musi być zamknięty, nawet jeżeli nie ma znaczników zamykających

[COLOR=red]
[/COLOR]
, podobnie jak np.
[COLOR=red]<img src="zdjecie.jpg" />.[/COLOR]
konieczna jest spacji przed ukośnikiem, bo niektóre współczesne przeglądarki mogą mieć problem gdy odstępu nie będzie.

To że na innych przeglądarkach jest wyświetlany tylko jeden oznacza że to one nie spełniają standardu a nie Opera (swoja droga IE wyświetla wszystko jak mu się podoba a nie wg standardu )
P.S. Nie odbierz tego postu jako przechwalanie się wiedzą albo coś takiego

Zajec napisał(a):

A czy dozwolony jest taki sposób zamykania znaczników dla *not empty tags*?

andol napisał(a):

Originally posted by Zajec:

A czy dozwolony jest taki sposób zamykania znaczników dla *not empty tags*?



"Taki", czyli jaki?

andol napisał(a):

Originally posted by krato:

konieczna jest spacji przed ukośnikiem, bo niektóre współczesne przeglądarki mogą mieć problem gdy odstępu nie będzie.



Miałeś oczywiście na myśli niewspółczesne.

Sid: Nie ma czegoś takiego jak </br>
<br> jest tzw. znacznikiem pustym (empty tag), czyli znacznikiem początkowym, który nie ma odpowiadającego mu znacznika zamykającego.

W XHTML wszystkie znaczniki muszą być zamknięte, dlatego też znaczniki puste uzupełniono kończącym je slashem ("/"). Dodatkowo, dla zachowania kompatybilności ze starymi przeglądarkami, zaleca się umieszczanie spacji przed znakiem "/".

Tak więc w XHTML-u mamy:
<br/> lub <br />

Nie rozumiem, co wg Ciebie miałaby oznaczać konstrukcja
&lt;br&gt;Jakiś tekst&lt;/br&gt;


Uzupełnienie

XML dopuszcza składnię:
&lt;br&gt; &lt;/br&gt;

Jednak w dodatku C specyfikacji XHTML dotyczącym kompatybilności można przeczytać, że efekt takiego kodu może być nieprzewidywalny w wielu przeglądarkach i dlatego też zaleca się stosowanie zminimalizowanych form znaczników pustych, a więc <br />.

quiris napisał(a):

Originally posted by Sid.:

A to dlatego iż (br)(/br) , traktuje najprawdopodobniej jako 2 nowe wiersze, co na innych przeglądarkach nie ma miejsca.

Wysyłaj stronę jako application/xhtml+xml, czyli tak, aby przeszła przez parser XML (tak jak naprawdę powienieneś wysyłać dokumenty XHTML) to będziesz miał w Operze tylko jeden wiersz. W innym przypadku strona jest przetwarzana przez parser HTML i tam, aby kompatybilności stało się zadość są dwa wiersze renderowane.

Originally posted by krato:

, poza tym drugi trochę źle napisałeś bo Każdy znacznik w XHTML musi być zamknięty

Nie. Dobrze go napisał i to jest właśnie zamknięcie, czyli
</br> jest równoważne


Originally posted by krato:

konieczna jest spacji przed ukośnikiem, bo niektóre współczesne przeglądarki mogą mieć problem gdy odstępu nie będzie.

Nie, nie jest konieczna. Specyfikacja XML, której aplikacją jest XHTML określa
jako prawidłowy. Spacja zwyczajowo jest dodawana, aby rozwiązać problemy ze starszymi przeglądarkami, nie rozumiejącymi zapisu bezspacjowego.

archetwist napisał(a):

Nie zwróciłem uwagi na to, że Sid napisał /br a nie br/ lol

Zajec napisał(a):

Chodziło o możliwość takiego "szykiego" zamykania innych znaczników:
<div />

quiris napisał(a):

Originally posted by Zajec:

Chodziło o możliwość takiego "szykiego" zamykania innych znaczników:

Dozwolony jest taki zapis, ale oczywiście nie zadziała prawidłowo na przestarzałych przeglądarkach.