2016-11-20 47 views
4

我想爲以空格開頭的類創建CSS選擇器,但我不知道如何。例如:<table class=" example">…</table>針對以空格開頭的類值

+0

你爲什麼要這樣做(你不能)? – 2016-11-20 02:34:39

+1

@torazaburo:可能沒有多少選擇。有關可能的原因,請參閱cale_b對Michael_B答案的評論。 – BoltClock

回答

3

對於定位目的,類屬性值的任何前導或尾隨空格都是沒有意義的。這個:class=" example"相當於這個:class="example"

沒有必要在空間中考慮因素。

從HTML 5規格:

2.4.7 Space-separated tokens

含有一組空間分隔的標記可以具有領先 或尾隨空格字符的字符串。

但是,空格字符是必需的,用於分隔類屬性中的多個值。

3.2.5.7 The class attribute

的屬性時,如果指定,則必須有一個值,該值是一組表示該 元素屬於各種類別 空格分隔的標記。

+1

當你看到類似的東西時,通常HTML(包括類屬性)就是這樣,因爲它是由服務器端腳本生成的,該腳本旨在處理和「粘合」多個類,並且編碼器沒有打擾清理前/後空白。 –

3

CSS classnames是單個單詞;空格只是分隔不同的類名。

你想要.example

+0

因此,原始HTML類中的空白並不重要,@SLaks? –

+1

雖然我明白你的意思,但「單詞」一詞並不完全清楚。可能會擴展一點(連字符,下劃線等) –

+0

@Dumb Noob:屬性開始和結束處的空白不是。 – BoltClock

3

對於類選擇器而言,類屬性值的開始和結束處的空白不重要。對於.example類選擇器,class=" example"是有效的HTML並且等效於class="example",class="example "甚至class=" example "

因此,您正在尋找的選擇器只是.example

選擇器的唯一區別是屬性選擇器:[class~="example"]將匹配所有給出的示例,但[class="example"]只匹配class="example"。 (這意味着,如果你有一些深奧的理由,只有當它的類屬性有一個前導空格時才能匹配元素,你可以使用[class^=" example"][class=" example"],但你很可能只是想要一個普通的類選擇器。)