CSS伪类元素是一个非常酷的东西!首先我们理解一下它,:before :after 伪类元素,也就是虚假的元素。它可以插入在元素的前面或者后面,而在HTML文档结构中,它却是不存在的,因为Js是无法通过DOM去控制它的。而其用法也很简单,和一些伪类一样,如:a:hover, a:active。那么伪元素这里便是 a:before, a:after。

  关于伪元素,最重要的一个属性便是 content 属性,如果CSS中的伪元素没有content属性,那么这个伪元素就是没有任何效果的。但是我们可以给它传入一个空值,来表示这个伪元素并没有东西。content: "",那么我们先直观感受一下伪元素的效果。

  非常明显,我们在开发者模式里是看不见这些伪元素的,但却又确确实实被渲染出来了!这样我们可以不影响HTML结构下,非常灵活的利用这样的伪元素去做一些事情。还有我们从中也可以知道,这些伪元素生成的元素都是一些内联元素,如有必要,我们可以手动让它变成块级元素。

  当然content也不仅限于传入文本,图片url(img.jpg)。最厉害的是元素的属性都可以作为参数传进来,如 attr(href),这里的意思就是将元素的href值以文本的形式作为伪元素的content。


  重点当然是动手,下面就是我们一起用CSS的伪元素做一个非常酷的东西。

  首先,这个div它的黑色部分全部是通过border-bottom实现的,让border-bottom和height的总和去等于width,再配合上border-radius就可以轻松实现一个圆上下黑白的颜色。然后这里有一个relative,是为了限制接下来伪元素的absolute的,这样一看,是不是有点眉目了呢?那我们继续看。

  接下来便用到了我们的伪元素。我们让伪元素的content为空,然后通过height,width,border和border-radius的配合,实现同心圆的效果,并用不同的颜色和absolute和left,top值进行选择性覆盖。当然另一边同样使用这种方法,自然非常酷的八卦图就出来了。

  动手要紧,觉得酷的赶紧试一下吧!

  最后再说多一句,通过CSS + CSS3我们可以制作非常多的东西,大胆发挥你的想象,并始终牢记一点:“多动手!”

用一个例子学习CSS的伪类元素的更多相关文章

  1. 前端学习 -- Css -- 否定伪类

    语法::not(.选择器) 作用:可以从已选中的元素中剔除出某些元素. <!DOCTYPE html> <html> <head> <meta charset ...

  2. CSS中伪类及伪元素用法详解

    CSS中伪类及伪元素用法详解   伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...

  3. 【笔记】css hover 伪类控制其他元素

    最近在模仿一个网站的项目 当中有一个效果需要利用到hover效果因为不太想写jq脚本所以百度了一下css hover的运用发现原来hover也可以控制其他元素的变化的 但是这有一个要求 就是添加hov ...

  4. CSS :first-child 伪类

    CSS :first-child 伪类  向元素的第一个子元素添加样式,示例如下:   例 1 - 匹配第一个 <p> 元素(第一个段落显示为红色) <style type=&quo ...

  5. CSS :focus 伪类

    :focus -- CSS :focus 伪类,适用于已获取焦点的元素的样式 语法: :focus CSS版本:CSS2 说明: 适用于已获取焦点的元素的样式,例如:表单的input输入框可以输入文字 ...

  6. 二.CSS的伪类

    CSS的伪类(Pseudo-classes)分为两种:UI伪类和结构化伪类,伪类一般用于向某些选择器添加特殊的效果,伪类选择符用"  : "进行标示,如果是“ ::  ” 表示CS ...

  7. 关于css中伪类及伪元素的总结

    css中的伪类和伪元素总是混淆,今天参考了很多资料,也查看了部分文档,现将伪类及伪元素总结如下: 一.由来: 伪类和伪元素的引入都是因为在文档树里有些信息无法被充分描述,比如CSS没有"段落 ...

  8. 关于css的伪类和伪元素

    现在才发现自己一直没有分清楚css的伪类和伪元素啊,so,总结一下. CSS 伪类用于向某些选择器添加特殊的效果. CSS 伪元素用于将特殊的效果添加到某些选择器. 可以明确两点,第一两者都与选择器相 ...

  9. 奇妙的CSS之伪类与伪元素

    我们都知道,在CSS中有很多选择器,例如id(#), class(.),属性[attr],这些虽然可以满足一些需要,但有时候还力有未逮.伪类和伪元素就提供了一个有益的补充,可以使我们更高效编码.伪类和 ...

随机推荐

  1. bind搭建(二)反向解析

    我们在上一节已经知道了怎么建立DNS的服务器端,可以实现了域名到IP之间的转换.那么好我们现在就来了解一下如何实现反向的DNS解析,也就是IP到域名的映射. 步骤如下: l  在/etc/named中 ...

  2. Android Dialogs(6)Dialog类使用示例:用系统theme和用自定义的theme

    使用dialog时有很多 方法,其中一个就是直接 使用基类Dialog,可用来作一个没有按钮的非模态提示框,它可以直接从系统的主题构造也可从自定义的主题构造. 基本步骤: a,构造 b,调用dialo ...

  3. 方法Equals和操作符==的区别

    http://www.codeproject.com/Articles/584128/What-is-the-difference-between-equalsequals-and-Eq When w ...

  4. Android开发之SmsManager和SmsMessage

    Android的手机功能(通话与短信)都放在android.telephony包中,到了4.4时(也就是API19)android.provider.Telephony及相关类横空出世辅助电话功能以及 ...

  5. chrome浏览器无法设置打开特定网页

    最近chrome浏览器更新后,发现以前设置的启动浏览器“重上次停下的地方继续”功能消失了. 当我点击设置网页时,会出现如上提示. 后来有同事给了如下一个连接,里面说到这个是公司的超级管理员搞的,他定义 ...

  6. bzoj4080

    分组赛时wy大神讲的题,网上都是随机化的题解 我来讲一下正解吧,我们穷举两个点,这两点距离要小于限制 然后我们分别以这两个点为圆心,两点距离为半径画圆 圆圆相交的部分被两点练成线段划分成两部分,不难发 ...

  7. SharePoint的安装配置

    安装环境 1. Window server 2008 r2(sp2) OS.2. MS SQL Server 2008 r2.3. Office2010.4. IIS7以上.5. 确认服务器已经加入域 ...

  8. [swustoj 373] Antiprime数

    Antiprime数(0373) 问题描述 如果一个自然数n(n>=1),满足所有小于n的自然数(>=1)的约数个数都小于n的约数个数,则n是一个Antiprime数.譬如:1, 2, 4 ...

  9. error: qrc_qml.obj: requires unsupported dynamic reloc R_ARM_REL32; recompile with -fPIC解决办法

    使用qtcreator加androidndk编译项目时报错: error: qrc_qml.obj: requires unsupported dynamic reloc R_ARM_REL32; r ...

  10. Mysql,SqlServer,Oracle主键自动增长的设置

    1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: )); insert into customers ...