1. 程式人生 > >:before 和 :after 的內幕 以及偽類

:before 和 :after 的內幕 以及偽類


偽類 VS 偽元素

這兩個概念很容易混淆,即使你Google或者查W3C的資料都不一定搞得清。答案其實很簡單,如下:


偽類:作用物件是整個元素

首先,來看幾個偽類

?
a:link {color:#111} a:hover {color:#222} div:first-child {color:#333} div:nth-child(3) {color:#444}


如你所見,儘管這些條件不是基於DOM的,但結果每一個都是作用於一個完整的元素,比如整個連結,段落,div等等。


偽元素:作用於元素的一部分

還是來看幾個例子:

?
p::first-line {color:#555} p::first-letter {color:#666} a::before {content : "hello world";}


如你所見,偽元素作用於元素的一部分:一個段落的第一行 或者 第一個字母。

更加神奇的是可以作用於並未加入HTML的物件,這就是:before 和 :after,也就是本文要說的內容。


:before VS ::before

為什麼有兩種寫法呢?它們的效果一樣麼?


答案是一樣的,來看一個例子:

相關推薦

:before :after內幕 以及

偽類 VS 偽元素 這兩個概念很容易混淆,即使你Google或者查W3C的資料都不一定搞得清。答案其實很簡單,如下: 偽類:作用物件是整個元素 首先,來看幾個偽類 ? a:link {color:#111}

css中的單冒號雙冒號 以及 元素

分配 子元素 不可 技術 對象 htm 而且 原因 支持 單冒號(:)用於CSS3偽類,雙冒號(::)用於CSS3偽元素。 偽元素由雙冒號和偽元素名稱組成。雙冒號是在css3規範中引入的,用於區分偽類和偽元素。但是偽類兼容現存樣式,瀏覽器需要同時支持舊的偽類,比如:firs

css中的單冒號雙冒號 以及 元素

單冒號(:)用於CSS3偽類,雙冒號(::)用於CSS3偽元素。 偽元素由雙冒號和偽元素名稱組成。雙冒號是在css3規範中引入的,用於區分偽類和偽元素。但是偽類相容現存樣式,瀏覽器需要同時支援舊的偽類,比如:first-line、:first-letter、:before、:after 1、偽類

IE67不相容beforeafter的最佳解決辦法

IE67不相容before和after偽類,在需要相容IE67的頁面時,可以通過使用img標籤和png雪碧圖固定定位的方式來解決,通過js來處理IE6下PNG不透明的問題,這樣就可以不用通過JS處理before和aft

css beforeafter元素應用

pan clear play set tle ear ani tab title 1、說明 ":before" 偽元素可以在元素的內容前面插入新內容。 ":after" 偽元素可以在元素的內容之後插入新內容。 2、兼容性 偽元素有2種寫法,單冒號和雙冒號,單冒號和雙

::before::after元素的用法

一、介紹 css3為了區分偽類和偽元素,偽元素採用雙冒號寫法。 常見偽類——:hover,:link,:active,:target,:not(),:focus。 常見偽元素——::first-letter,::first-line,::before,::after,:

CSS中選擇器以及元素選擇器

3.5結構選擇器 (1)後代選擇器:可以選擇一個元素的後代元素,這個後代元素包括兒子,孫子,以及後代結構。 <<style type="text/css">         .content a{             font-size: 25px;

::before::after元素

偽元素的意思就是,元素不是在DOM中生成的,而是在瀏覽器渲染CSS的時候畫上去的,所以在瀏覽器檢視元素上是看不到偽元素的HTML結構的。 before 和 after 顧名思義就是附著在元素前後的偽元素。 預設情況下偽元素是行內顯示的,想讓它呈現出不同的效果的話,就需要設定它為塊 {display:blo

CSS中的before:after元素深入理解

1、定義: “偽元素”,顧名思義。就是它建立了一個虛假的元素,並且將其虛假的元素插入到目標元素的內容之前或之後。 2:特點: a、它在實際文件中不改變什麼,但是對使用者可見,可以通過css控制,原始碼中看不到 b、偽元素如果沒有設定“content”屬性,偽元素是無用的。 你可以設定content屬

js設定beforeafter元素效果的方法總結

我們知道,我們無法直接給before和after偽元素設定js效果例子說明 現在需要為(id為box,內容為"我是測試內容"的div)新增(:before內容為"字首",顏色為紅色的偽元素)<!DOCTYPE html> <html> <he

select 下拉列表選擇框效果及美化(before after元素的妙用)

color dem cti relative ccs ota otto center round 參考博客:https://github.com/chokcoco http://www.cnblogs.com/libin-1/p/5766

select 下拉列表選擇框效果及美化(before after元素的妙用)

參考部落格:https://github.com/chokcoco http://www.cnblogs.com/libin-1/p/5766729.html http://www.cnblogs.com/coco1s/p/5667853.html http://sbco.cc/magicCss/

::before::after的用法 css元素

CSS 有兩個說不上常用的偽類 :before 和 :after,偶爾會被人用來新增些自定義格式什麼的,但是它們的功用不僅於此。前幾天發現了 Creative Link Effects 這個非常有意思的介紹創意連結特效的頁面,裡面驚人的效果大量使用到的特性除了 trans

轉::before::after元素的用法

絕對定位 又能 lec net ren effect form amp right 一、介紹 css3為了區分偽類和偽元素,偽元素采用雙冒號寫法。 常見偽類——:hover,:link,:active,:target,:not(),:focus。 常見偽元素——::firs

mysql之觸發器beforeafter的區別

mysql 訂單 負數 values 完成 -1 class 大於 nbsp 我們先做個測試: 接上篇日誌建的商品表g和訂單表o和觸發器 假設:假設商品表有商品1,數量是10; 我們往訂單表插入一條記錄: insert into o(gid,much) value

jquery中append、prepend, beforeafter方法的區別(一)

mod serve com oos 兄弟節點 sha pos 插入 5% 原文:http://blog.csdn.net/woosido123/article/details/64439490 在 jquery中append() 與 prepend()是在元素內插

css中beforeafter的應用實例

padding meta script cli fff radi tag lock style <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <

標準文檔流以及選擇器

存在 posit 環繞 浮動 兩個 visit :hover con ont 標準文檔流     瀏覽器排版是根據元素的特征(塊和級),從上

深入學習jquery原始碼之before()after()

深入學習jquery原始碼之before()和after() after(content|fn) 概述 在每個匹配的元素之後插入內容。 引數 content String, Element, jQuery 插入到每個目標後的內容 function Fu

beforeafter的用法

一、介紹css3為了區分偽類和偽元素,偽元素採用雙冒號寫法。(:before和:after是在CSS2中提出來的,CSS3中的寫法是::before和::after)常見偽類——:hover,:link,:active,:target,:not(),:focus。常見偽元素—