2017-08-01 55 views
-3

在我看來,這<button>在HTML5基本上是一個<span>一些默認樣式,並可能略有不同的DTD規則...(你不能在一個<button><button>?)是<BUTTON>功能上等同於<SPAN>?

是我的理解是否正確?除了聲明性目的和默認樣式之外,是否有理由再使用<button>標籤?

+1

如果你想擁有... ...互動... *按鈕* ...也許?而不是純文本? – deceze

+3

'button'可以用來提交表單而不需要任何額外的修改。 – Blazemonger

+2

而一個按鈕可以用來關閉我的襯衫,而跨度是完全無用的 – Gerard

回答

6

  • A按鈕將是默認可聚焦
  • A按鈕將被公佈爲通過屏幕閱讀器的交互式控制
  • A按鈕將提交表單它是內部(或一個它不屬於form屬性,其他屬性可以做類似於更改表單動作的操作)
  • 按鈕可以被賦予一個名稱和值,以便在提交表單時提交額外數據

請記住:HTML的核心是用來描述內容的語言。 CSS規範甚至有a warning about replacing meaningful HTML elements與通用的像div和跨度:

注意。 CSS爲「類」屬性提供瞭如此強大的功能,作者可以根據幾乎沒有關聯表示的元素(如HTML中的DIV和SPAN)設計自己的「文檔語言」,並通過「類」屬性分配樣式信息。作者應該避免這種做法,因爲文檔語言的結構元素通常具有公認和接受的含義,而作者定義的類可能不具有。

+2

我從來不知道你可以添加一個form屬性到表單外的按鈕。很高興知道我仍然可以學習有關HTML5的有用信息。 – Blazemonger

+1

我希望人們首先了解有關使用HTML的第一件事是鏈接到W3C規範。這是一個很長的閱讀,但它確實有助於理解。 – AGE

1

A <button>本質上是一個標籤,用於表示正在處理的組件用於與用戶進行交互。

這些按鈕是form尋呼系統的一部分。此外,網絡機器人只能與可點擊的按鈕進行交互。如果跨度是可點擊的,網絡機器人將不知道,並且您的引用會受到影響(如果跨度取代了按鈕)。

0

我不知道你在哪裏得到一個按鈕是一個跨度,甚至反之亦然,但我們是在他們每個人都是首次明確:

Span

<span>標籤用於在文檔中對內聯元素進行分組。它本身不提供視覺變化;最後它提供了一種將鉤子添加到文本的一部分或文檔的一部分的方法。

Button

正如你所看到的,buttonspan標籤這麼多。請考慮閱讀官方文檔。