HTML'nin önceki sürümlerindeki (HTML5'ten önce) çoğu özniteliğin (belki de tümünü) değerlere sahip olması için gerekli öznitelikleri hatırlıyorum readonly="readonly"
.
Bu, HTML5 ve autofocus
öznitelik için doğru mu?
HTML'nin önceki sürümlerindeki (HTML5'ten önce) çoğu özniteliğin (belki de tümünü) değerlere sahip olması için gerekli öznitelikleri hatırlıyorum readonly="readonly"
.
Bu, HTML5 ve autofocus
öznitelik için doğru mu?
Yanıtlar:
HTML'de, istediğiniz gibi değerlerle veya değerler olmadan boole niteliklerini kullanırsınız. Bir boolean, W3C için, otofokus gibi böyle yazılabilir autofocus
ya autofocus="autofocus"
da ya autofocus=""
.
Otomatik odaklama istemiyorsanız, sadece yazmayın.
Ben XHTML bütün özelliklerin değerlerini gerektirdiğinden karıştı düşünüyorum: attributes="values"
.
HTML'de boole özellik kullanımı hakkında bazı bilgiler: http://www.whatwg.org/specs/web-apps/current-work/multipage/common-microsyntaxes.html#boolean-attribute
disabled="disabled"
. Aynı şey kapanış etiketleri için de geçerlidir. HTML'de her etiketin kapatılması gerekmez (örn. Br veya input), ancak XHTML'nin geçerli XML olması gerektiğinden, kapanış etiketlerine de ihtiyacınız vardır.
disabled="disabled"
". Ve SGML, XHTML'nin sadece silly="silly"
yerine bool sözdizimine sahip olmasının tek nedenidir whatever="true"
ve HTML, this="false"
bunun = doğru anlamına gelmesinin tek nedenidir . :)
HTML5 spesifikasyonundan alıntı yapmak ve Pekka'yı biraz genişletmek:
http://www.w3.org/TR/html5/forms.html#autofocusing-a-form-control:-the-autofocus-attribute :
Otomatik odaklama özelliği, bir boole özniteliğidir.
http://www.w3.org/TR/html5/infrastructure.html#boolean-attributes :
Bir öğede boole özniteliğinin varlığı gerçek değeri temsil eder ve özniteliğin yokluğu yanlış değeri temsil eder.
Öznitelik mevcutsa, değeri ya boş dize ya da ASCII büyük / küçük harfe duyarlı olmayan, özniteliğin kurallı adı ile eşleşen ve başında veya sonunda boşluk olmayan bir değer olmalıdır.
Sonuç :
Aşağıdakiler geçerli, eşdeğer ve doğrudur :
<input type="text" autofocus />
<input type="text" autofocus="" />
<input type="text" autofocus="autofocus" />
<input type="text" autofocus="AuToFoCuS" />
Aşağıdakiler geçersizdir :
<input type="text" autofocus="0" />
<input type="text" autofocus="1" />
<input type="text" autofocus="false" />
<input type="text" autofocus="true" />
Özniteliğin yokluğu, false için geçerli tek sözdizimidir :
<input type="text"/>
Öneri
Geçerli XHTML yazmayı önemsiyorsanız, kullanın autofocus="autofocus"
çünkü <input autofocus>
geçersizdir ve diğer alternatifler daha az okunabilirdir. Aksi <input autofocus>
takdirde, daha kısa olduğu için kullanın .
Hayır , niteliğin kendisini belirtmeniz yeterlidir. HTML 4'te de böyleydi .
Bazı öznitelikler boole öznitelikleridir . Bir öğede boole özniteliğinin varlığı gerçek değeri temsil eder ve özniteliğin yokluğu yanlış değeri temsil eder.
Öznitelik mevcutsa, değeri ya boş dize ya da ASCII büyük / küçük harfe duyarlı olmayan, özniteliğin kurallı adı ile eşleşen ve başında veya sonunda boşluk olmayan bir değer olmalıdır.
Misal:
<label><input type=checkbox checked name=cheese disabled> Cheese</label>