:before和:after伪元素的常见用法总结

  1. 利用content属性,为元素添加内容修饰:

1) 添加字符串:
使用引号包括一段字符串,将会向元素内容中添加字符串。栗子:

a:after { content: "after content"; }

2) 使用attr()方法,调用当前元素的属性的值:
栗子:

a:after { content: attr(href); }
a:after { content: attr(data-attr); }

3)使用url()方法,引用多媒体文件:
栗子:

a::before { content: url(logo.png); }
  1. 使用counter()方法,调用计时器:
    栗子:
h:before { counter-increment: chapter; cotent: "Chapter " counter(chapter) ". " }
  1. 清除浮动:
.clear-fix { *overflow: hidden; *zoom: 1; }
.clear-fix:after { display: table; content: ""; width: 0; clear: both; }
  1. 特效妙用:
// CSS代码
a {
    position: relative;
    display: inline-block;
    text-decoration: none;
    color: #000;
    font-size: 32px;
    padding: 5px 10px;
}
a::before, a::after { 
    content: "";
  transition: all 0.2s;
}
a::before { 
  left: 0;
}
a::after { 
  right: 0;
}

a:hover::before, a:hover::after { 
  position: absolute;
}
a:hover::before { content: "\5B"; left: -20px; }
a:hover::after { content: "\5D"; right:  -20px; }

// HTML代码
我是个超链接
  1. 特殊形状的实现:

举个栗子:(譬如对话气泡)

// CSS代码
.tooltip {
    position: relative;
    display: inline-block;
    padding: 5px 10px;
    background: #80D4C8;
}
.tooltip:before {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    margin-left: -5px;
    bottom: -5px;
    width: 0; 
    height: 0; 
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #80D4C8;
}

// HTML代码
I'm a tooltip.

你可能感兴趣的:(:before和:after伪元素的常见用法总结)