html代碼:
<html><div class="test"> <span class="bot"></span> <span class="top"></span> CSS “邊框法”實現氣泡對話方塊效果一</div><style>.test{width:300px; padding:30px 20px; margin-left:60px; background:#beceeb; position:relative;}.test span{width:0; height:0; font-size:0; overflow:hidden; position:absolute;}.test span.bot{ /*(結合元素選取器) 後代選取器 */ border-width:20px; border-style:solid; border-color:#ffffff #beceeb #beceeb #ffffff; left:-40px; top:40px;}</style></html>
效果:
子串匹配屬性選取器
下面為您介紹一個更進階的選取器模組,它是 CSS2 完成之後發布的,其中包含了更多的部分值屬性選取器。按照規範的說法,應該稱之為“子串匹配屬性選取器”。
很多現代瀏覽器都支援這些選取器,包括 IE7。
下表是對這些選取器的簡單總結:
類型 |
描述 |
[abc^="def"] |
選擇 abc 屬性值以 "def" 開頭的所有元素 |
[abc$="def"] |
選擇 abc 屬性值以 "def" 結尾的所有元素 |
[abc*="def"] |
選擇 abc 屬性值中包含子串 "def" 的所有元素 |
p.important
選取器現在會匹配 class 屬性包含 important 的所有 p 元素,但是其他任何類型的元素都不匹配,不論是否有此 class 屬性。選取器 p.important 解釋為:“其 class 屬性值為 important 的所有段落”。 因為 h1 元素不是段落,這個規則的選取器與之不匹配,因此 h1 元素不會變成紅色文本。
如果你確實希望為 h1 元素指定不同的樣式,可以使用選取器 h1.important:
p.important {color:red;}
h1.important {color:blue;}
結合元素選取器
類別選取器可以結合元素選取器來使用。
例如,您可能希望只有段落顯示為紅色文本:
p.important {color:red;}
選取器現在會匹配 class 屬性包含 important 的所有 p 元素,但是其他任何類型的元素都不匹配,不論是否有此 class 屬性。選取器 p.important 解釋為:“其 class 屬性值為 important 的所有段落”。 因為 h1 元素不是段落,這個規則的選取器與之不匹配,因此 h1 元素不會變成紅色文本。
如果你確實希望為 h1 元素指定不同的樣式,可以使用選取器 h1.important:
p.important {color:red;}
h1.important {color:blue;}
結合元素選取器
類別選取器可以結合元素選取器來使用。
例如,您可能希望只有段落顯示為紅色文本:
p.important {color:red;}
選取器現在會匹配 class 屬性包含 important 的所有 p 元素,但是其他任何類型的元素都不匹配,不論是否有此 class 屬性。選取器 p.important 解釋為:“其 class 屬性值為 important 的所有段落”。 因為 h1 元素不是段落,這個規則的選取器與之不匹配,因此 h1 元素不會變成紅色文本。
如果你確實希望為 h1 元素指定不同的樣式,可以使用選取器 h1.important:
p.important {color:red;}h1.important {color:blue;}
親自試一試
html代碼如下:
<html><div class="test"> <span class="bot"></span> <span class="top"></span> CSS “邊框法”實現氣泡對話方塊效果一</div><style>.test{width:300px; padding:30px 20px; margin-left:60px; background:#beceeb; position:relative;}.test span{width:0; height:0; font-size:0; overflow:hidden; position:absolute;}.test span.bot{ border-width:20px; border-style:solid; border-color:#ffffff #beceeb #beceeb #ffffff; left:-40px; top:40px;}.test span.top{ border-width:10px 20px; border-style:dashed solid solid dashed; border-color:transparent #ffffff #ffffff transparent; left:-40px; top:60px;}</style></html>
效果:
------------------------------------
結合元素選取器
類別選取器可以結合元素選取器來使用。
例如,您可能希望只有段落顯示為紅色文本:
p.important {color:red;} 注意:沒有空格p.important
選取器現在會匹配 class 屬性包含 important 的所有 p 元素,但是其他任何類型的元素都不匹配,不論是否有此 class 屬性。選取器 p.important 解釋為:“其 class 屬性值為 important 的所有段落”。 因為 h1 元素不是段落,這個規則的選取器與之不匹配,因此 h1 元素不會變成紅色文本。
如果你確實希望為 h1 元素指定不同的樣式,可以使用選取器 h1.important:
p.important {color:red;}
h1.important {color:blue;}
----------------------------------------------------
子串匹配屬性選取器
下面為您介紹一個更進階的選取器模組,它是 CSS2 完成之後發布的,其中包含了更多的部分值屬性選取器。按照規範的說法,應該稱之為“子串匹配屬性選取器”。
很多現代瀏覽器都支援這些選取器,包括 IE7。
下表是對這些選取器的簡單總結:
類型 描述
[abc^="def"] 選擇 abc 屬性值以 "def" 開頭的所有元素
[abc$="def"] 選擇 abc 屬性值以 "def" 結尾的所有元素
[abc*="def"] 選擇 abc 屬性值中包含子串 "def" 的所有元素
-----------------------------------------------------------
後代選取器
根據上下文選擇元素
我們可以定義後代選取器來建立一些規則,使這些規則在某些文檔結構中起作用,而在另外一些結構中不起作用。
舉例來說,如果您希望只對 h1 元素中的 em 元素應用樣式,可以這樣寫:
h1 em {color:red;}
上面這個規則會把作為 h1 元素後代的 em 元素的文本變為 紅色。其他 em 文本(如段落或區塊引述中的 em)則不會被這個規則選中:
<h1>This is a <em>important</em> heading</h1>
<p>This is a <em>important</em> paragraph.</p>