純CSS代碼實現各類氣球泡泡對話方塊效果的代碼解析

來源:互聯網
上載者:User


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>

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.