-
11. Data: 2010-01-09 21:38:33
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: olo <o...@n...com>
Marek pisze:
> Skoro mówimy o praktyce webmastera, to mi taka konstrukcja z nadmiarowym
> DIVem jest niepotrzebna z tego względu, że np.definiuję sobie <label>
> jako box i nim formatuję zawartość <form>. Oczywiście zdaję sobie
> sprawę, że CSS nie ma wpływu na działanie walidatora HTMLa lecz nie
> wiem po co zadaniem walidatora HTML ma być pilnowanie estetyki. Jeśli
> webmaster uprze się rozwalić layout strony, to może to zrobić również w
> absolutnej zgodności ze wszelkimi standardami HTML i CSS. A może o coś
> innego tu chodzi?
no to chyba tutaj masz błąd w rozumowaniu:
<label>
Znacznik definiuje etykietę dla pola formularza. Kliknięcie na zawartość
etykiety powoduje zaznaczenie lub odznaczenie odpowiedniego pola formularza.
Typ znacznika: *liniowy*
<fieldset>
Znacznik służy do grupowania pól formularza. Opcjonalny znacznik
<legend> umożliwia zdefiniowanie nazwy grupy pól.
Typ znacznika: *blokowy*
ja zawsze robię konstrukcje takie
<form>
<fieldset>
<legend>blabla</legend>
<label for"xxx">bla</label>
<input id="xxx">
</fieldset>
</form>
i wszystko jest dobrze a i walidator się nie przyczepia ;)
--
pozdrawiam!
http://webtrunki.pl - piwa, wina, wódki, domowe wyroby
ZAPRASZAMY!!
-
12. Data: 2010-01-10 16:26:49
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: "Marek" <m...@s...interia.pl>
> <label>
> Znacznik definiuje etykietę dla pola formularza. Kliknięcie na zawartość
> etykiety powoduje zaznaczenie lub odznaczenie odpowiedniego pola
> formularza.
> Typ znacznika: *liniowy*
No właśnie niekoniecznie:
label {
display: block;
width: 300px;
height: 30px;
}
I już label nie jest liniowy. Zresztą nie to jest przedmiotem dyskusji. Ktoś
może formatować sobie pola formularza inaczej w końcu. Nie dłumaczy to
konieczności stosowania nadmiarowego tagu.
> <fieldset>
> Znacznik służy do grupowania pól formularza. Opcjonalny znacznik
No i tu jest kłopot w interpretacji... bo element jest niby blokowy. Jednaże
aby użyć <fieldset> należy wcześniej posłużyć wspomnianym nadmiarowym
znacznikiem. Zobacz:
http://www.w3.org/TR/1999/REC-html401-19991224/inter
act/forms.html#h-17.10
Przeanalizuj przykład na brązowo. Zauważ, że powyżej <fieldset> jest <p>.
Czyli tak jakby blok w bloku. Po co? Tego właśnie nie wiem...
> ja zawsze robię konstrukcje takie
> <form>
> <fieldset>
> <legend>blabla</legend>
> <label for"xxx">bla</label>
> <input id="xxx">
> </fieldset>
> </form>
>
> i wszystko jest dobrze a i walidator się nie przyczepia ;)
j/w
-
13. Data: 2010-01-10 16:34:42
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: "Marek" <m...@s...interia.pl>
> Zdaje mi się, że idea polegała na skłonieniu autorów do używania <p>
> zamiast wrzucania tekstu "luzem" i nadużywania <br>.
>
> Umieszczanie każdej pary etykiety i pola w osobnym <div> lub <p> to jest
> całkiem dobry model - można to ładnie ostylować nadając inline-block albo
> float etykiecie.
No dobrze, ale ktoś może nie mieć potrzeby "ładnego ostylowywania" albo mić
inna na to koncepcję. W końcu <form> też może być blokiem i mieć floata. To
wszystko kwestia CSS a nie HTML.
> Trochę to tylko drażni przy 1-linijkowych formularzach i polach hidden,
> dlatego to ograniczenie to zostało rozluźnione w HTML 5.
Właśnie to m.in. jest w tle mojego postu.Z jednej strony dokument HTML
powinien mieć jak najmniej znaczników a z drugiej strony taka bzdura
powstaje w standardzie zmuszająca do nadmiarowego ich stosowania.
-
14. Data: 2010-01-10 21:50:19
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: Paweł Piskorz <n...@p...nie?>
On 2010-01-10 17:26, Marek wrote:
>> <label>
>> Znacznik definiuje etykietę dla pola formularza. Kliknięcie na
>> zawartość etykiety powoduje zaznaczenie lub odznaczenie odpowiedniego
>> pola formularza.
>> Typ znacznika: *liniowy*
>
> No właśnie niekoniecznie:
>
> label {
> display: block;
> width: 300px;
> height: 30px;
> }
>
> I już label nie jest liniowy.
A jak dasz display:inline-block to będzie jaki? Obojniak? ;)
To są dwie różne rzeczy, tylko tak samo się nazywają.
W HTMLu masz typy (modele?) elementów:
http://www.w3.org/TR/html4/sgml/dtd.html
<!--
HTML has two basic content models:
%inline; character level elements and text strings
%block; block-like elements e.g. paragraphs and lists
-->
A w CSSie masz wartości właściwości display, z których tylko dwie się
tak samo nazywają:
http://www.w3.org/TR/CSS21/visuren.html#propdef-disp
lay
display: inline | block | list-item | run-in | inline-block | table |
inline-table | table-row-group | table-header-group | table-footer-group
| table-row | table-column-group | table-column | table-cell |
table-caption | none
>> <fieldset>
>> Znacznik służy do grupowania pól formularza. Opcjonalny znacznik
>
> No i tu jest kłopot w interpretacji... bo element jest niby blokowy.
> Jednaże aby użyć <fieldset> należy wcześniej posłużyć wspomnianym
> nadmiarowym znacznikiem. Zobacz:
> http://www.w3.org/TR/1999/REC-html401-19991224/inter
act/forms.html#h-17.10
> Przeanalizuj przykład na brązowo. Zauważ, że powyżej <fieldset> jest
> <p>. Czyli tak jakby blok w bloku. Po co? Tego właśnie nie wiem...
<p> nie może zawierać elementu blokowego i zostanie przez przeglądarkę
zamknięte przed <fieldset>*. Nie wiem po co tam wstawiono pusty akapit,
zapewne niedopatrzenie jakieś.
Poza tym cały ten przykład jest koszmarny.
* W HTMLu niektóre znaczniki zamykające są opcjonalne:
http://www.w3.org/TR/html4/index/elements.html
-
15. Data: 2010-01-10 21:57:15
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: Paweł Piskorz <n...@p...nie?>
On 2010-01-10 17:34, Marek wrote:
> Z jednej strony dokument HTML powinien mieć jak najmniej znaczników
Bzdura i sam się do tego nie stosujesz*
* zamykasz
body/colgroup/dd/dt/head/html/p/option/p/tbody/td/tf
oot/th/thead/tr,
pakujesz atrybuty w cudzysłowy i wstawiasz nawet te domyślne.
-
16. Data: 2010-01-11 13:59:15
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: Krzysztof Warunek <k...@t...pl>
Dnia Sun, 10 Jan 2010 17:34:42 +0100, Marek napisał(a):
> zmuszająca do nadmiarowego ich stosowania.
możesz przytoczyć jakiś przykład, gdzie potwierdzisz
słowo "nadmiarowy", bo nie zauważam problemu
--
Krzysztof Warunek
http://tocheckserver.pl
-
17. Data: 2010-01-11 15:31:58
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: "Marek" <m...@s...interia.pl>
> A jak dasz display:inline-block to będzie jaki? Obojniak? ;)
No więc sam widzisz, że możemy tworzyć sobie nawet obojniaki. :-) Dlaczego
więc istnieje konieczność zamykania ich w bloku skoro one same mogą być tym
czego potrzebuje webmaster? Po co mi zamykać blok w bloku jeśli blokowo
zdefiniowałem stosowane elementy formularza?
> <p> nie może zawierać elementu blokowego i zostanie przez przeglądarkę
> zamknięte przed <fieldset>*.
Sprawa się komplikuje gdy mam sobie formularz z paroma <label>'ami
zdefiniowanymi jako bloki po to aby ładnie się układały. Wtedy ten <p> jest
psu na budę ale być musi. I cały czas pozostaje aktualne pytanie: po cholerę
ten <p> czy <div>? Poza zaśmiecaniem kodu chyba nie pełni innej funkcji?
-
18. Data: 2010-01-11 15:42:32
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: "Marek" <m...@s...interia.pl>
>> Z jednej strony dokument HTML powinien mieć jak najmniej znaczników
>
> Bzdura i sam się do tego nie stosujesz*
Tzn dokument HTML powinien Twoim zdaniem mieć jak najwięcej znaczników HTML
a jak najmniej treści ? :-D
> * zamykasz
> body/colgroup/dd/dt/head/html/p/option/p/tbody/td/tf
oot/th/thead/tr,
> pakujesz atrybuty w cudzysłowy i wstawiasz nawet te domyślne.
Do zamykania tagów nie przyczepiłbym się. Pozostawianie ich otwartymi
stwarza niejednoznaczności interpretacji kodu, utrubnia parsowanie itp.
Jednakże wstawianie znaczników dodatkowych - niczemu nie służących - to inna
sprawa. To tak jakby wprowadzić obowiązek stosowania <div> zaraz po <body>.
Ja tego nie pojmuję właśnie... Dlaczego trzeba go użyć po <form> a po <body>
i każdym innym znaczniku już nie? Czy inne znaczniki są gorsze i nie
zasługują na <div>'a ? :-)
-
19. Data: 2010-01-11 15:46:56
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: "Marek" <m...@s...interia.pl>
>> zmuszająca do nadmiarowego ich stosowania.
> możesz przytoczyć jakiś przykład, gdzie potwierdzisz
> słowo "nadmiarowy", bo nie zauważam problemu
oki :-) Napiszę w uproszczeniu. Jeśli niejasno się wyrażę - daj znać.
HTML
<form>
<div>
<label>etykieta<br><input></label>
<label>etykieta<br><input></label>
<label>etykieta<br><input></label>
<button>
</div>
</form>
CSS
label {
display: block;
width:300px;
height: 30px;
}
Po co w w/w kodzie ten DIV?
-
20. Data: 2010-01-11 16:19:30
Temat: Re: HTML 4.01 - dlaczego inputy muszą być w DIVach ?
Od: Daniel Stalica <d...@s...info>
W dniu 2010-01-11 16:46, Marek pisze:
> <form>
> <div>
> <label>etykieta<br><input></label>
> <label>etykieta<br><input></label>
> <label>etykieta<br><input></label>
> <button>
> </div>
> </form>
>
> CSS
>
> label {
> display: block;
> width:300px;
> height: 30px;
> }
>
> Po co w w/w kodzie ten DIV?
>
Napisz lepiej po co ci ten <br>
--
Systemy kominowe http://twojkomin.pl