伪元素怎么使用呢?

对于一个使用 HSL 表示的颜色,我们只需要改变 L (亮度)的值,就可以得到一个更亮一点或者更暗一点的颜色。

操作方法

  • 01

    这里要科普一下颜色值的小知识。我们熟知的颜色表示法除了 #fff ,rgb(255,255,255),还有 hsl(0, 100%, 100%)(HSV)。 以 HSL 为例,它是一种将 RGB 色彩模型中的点在圆柱坐标系中的表示法。HSL 即色相、饱和度、亮度(英语:Hue, Saturation, Lightness)。 对于一个使用 HSL 表示的颜色,我们只需要改变 L (亮度)的值,就可以得到一个更亮一点或者更暗一点的颜色。

  • 02

    有时你会发现伪类元素使用了两个冒号 (::) 而不是一个冒号 (:),这是 CSS3 规范中的一部分要求,目的是为了区分伪类和伪元素,大多数浏览器都支持这两种表示方式。 #id:after{ ... } #id::after{ ... }

  • 03

    单冒号(:)用于 CSS3 伪类,双冒号(::)用于 CSS3 伪元素。对于 CSS2 中已经有的伪元素,例如 :before,单冒号和双冒号的写法 ::before 作用是一样的。 所以,如果你的网站只需要兼容 webkit、firefox、opera 等浏览器,建议对于伪元素采用双冒号的写法,如果不得不兼容 IE 浏览器,还是用 CSS2 的单冒号写法比较安全。

  • 04

    更加具体的信息,可以看看 MDN 对伪类和伪元素的理解。 本文的主角就是伪元素 before 和 after ,下面将具体讲讲这两个伪元素的魅力。 哪些标签不支持伪元素?(补充于2016.06.28) 我也是才知道这个姿势。为了不误导读者,就赶紧补充一下。 伪元素虽然强大,但是还是有一些特定的标签是不支持伪元素 before 和 after 的。

  • 05

    诸如 <img> 、<input>、<iframe>,这几个标签是不支持类似 img::before 这样使用。 究其原因,要想要标签支持伪元素,需要这个元素是要可以插入内容的,也就是说这个元素要是一个容器。而 input,img,iframe 等元素都不能包含其他元素,所以不能通过伪元素插入内容。 利用 after 清除浮动 这个估计是前端都知道,运用 after 伪元素清除页面浮动,不做过多解释。 1 2 .clearfix:after {content:"."; display:block; height:0; visibility:hidden; clear:both; } .clearfix { *zoom:1; } 伪元素与 css sprites 雪碧图 这个也是老姿势了。雪碧图大家应该也不陌生,通过将多个图片 icon 合为一张图,从而为了减少 http 请求,很多网站对雪碧图的需求还是很大的。 但是在制作雪碧图的过程中,或者现在很多的打包工具自动生成的雪碧图,都存在着需要为每个 icon 需要预留多少边距的问题。看看下图: -->

  • 06

    譬如上面这种情况(假设按钮中的图标是采用了雪碧图),产品某天突然要求按钮从状态左变为状态右,那么雪碧图原先预留的位置边距肯定就不够了,导致其他图形出现在按钮中。 而我们通常不会为了一个小 icon 多添加一个标签(不符合语义化)。 所以通常这种情况需要用到雪碧图的话,都是在按钮中设置一个伪元素,将伪元素的高宽设置为原本 icon 的大小,再利用绝对定位定位到需要的地方,这样无论雪碧图每个 icon 的边距是多少,都能够完美适应。

  • 07

    单个颜色实现按钮 hover 、active 的明暗变化 最近项目有个这样的需求,根据不同的业务场景,运营需要配置一个按钮的不同背景色值。但是我们知道,一个按钮通常而言是有 3 个色值的,normal 状态的,hover 状态的和 active 状态的,通常 hover 是比原色稍微亮一点,active 则是稍微暗一点。 大概是这样(下图): 为了减轻运营同学的负担,怎么样做到只配置一个背景色不配置 hover 和 active 颜色让按钮也能自适应跟随变化呢。是的,用上 before、after 两个伪元素可以做到。

(0)

相关推荐

  • 浏览器组成及工作原理深度了解

    简介 浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。 将讨论的浏览器 今天,有五种主流浏览 ...

  • 浏览器是怎样工作的 浏览器从头到尾的工作机制

    浏览器可以被认为是使用最广泛的软件,本文将介绍浏览器的工 作原理,我们将看到,从你在地址栏输入google.com到你看到google主页过程中都发生了什么。 将讨论的浏览器 今天,有五种主流浏览器— ...

  • 网页汉堡包菜单之关闭按钮的六种玩法

    小编:今天给大家带来了一个好玩的东西,是什么呢?感谢设计达人分享的网页汉堡包菜单之关闭按钮的六种玩法.汉堡包菜单图标在APP或响应式设计上比较常见,一般用来展开/关闭网站导航菜单,然而这个菜单图标有很 ...

  • HTML5 svg和CSS3炫酷鼠标点击按钮特效制作方法

    这是一组效果非常炫酷的HTML5 svg和CSS3鼠标点击按钮特效.这组鼠标点击特效共有22种效果,大多数是在伪元素上使用CSS3 animations来制作动画效果.非常适合于移动手机APP上的按钮 ...

  • css3中transition属性的详细介绍

    我相信刚接触CSS的新手对于css3还是比较陌生的下面就来介绍一下transition属性的详细运用. 操作方法 01 定义: transition用于在一定的时间内平滑的过度,这种效果可以在鼠标单击 ...

  • CSS垂直居中的8种方法

    设计网页的时候,除了CSS水平居中的需求外,还会经常遇到CSS垂直居中的需求,CSS垂直居中跟CSS水平居中一样都是前端设计师的基本功. 这篇教程将我以往用过的8种CSS实现垂直居中的方法总结出来,也 ...

  • css设置垂直居中多种方法

    在前端开发中内容居中是必不可少的,让我们一起来看一些垂直居中的方案有那么些吧. 操作方法 01 文本内容设置垂直居中. 单行文本, 则可设置 line-height 等于父元素高度. 居中代码: .t ...

  • css透明度,css图片透明度设置方法

    在一些网站的登录页面上,经常可以发现,一张图片叠加在另一张图片上,底层的图片若隐若现,利用css中的透明属性opacity可以实现这种效果,下面就简单介绍一下怎么写代码 操作方法 01 新建一个HTM ...

  • JS设置CSS样式的几种方式

    JS设置CSS样式的几种方式 操作方法 01 1. 直接设置style的属性  某些情况用这个设置 !important值无效,如果属性有'-'号,就写成驼峰的形式(如textAlign)  如果想保 ...