css中给元素添加子元素的伪类

html-css023

css中给元素添加子元素的伪类,第1张

在CSS3中,子元素伪类选择器有两大类。

(1):first-child、:last-child、:nth-child(n)、:only-child

(2):first-of-type、:last-of-type、:nth-of-type(n)、:only-of-type

在实现页面五花八门的有特色的ui时,我们有时会遇到要用实现一个弧形,而这样的弧形要怎么实现呢?用图片?不太优雅,这样就要无故多加载一张图片了,这里来说说怎么用css的after伪类来实现弧形。

写一个主元素,并给该元素添加伪类来设置成圆,取该圆的一部分来作为我们看到的圆弧。

第一种(正圆弧):

实现效果:

参照上面的 要点 ,大概也能知道个原理了吧。 看到的圆弧高度等于主元素高度,伪元素绝对于主元素定位,左右居中,上移100%;圆弧弧度取决于伪类的宽度 ,这点放到这里来说,是怕放在上面说反而让人觉得复杂了。

如果还不理解的话,可以把上面不必要的样式注释掉,辅助理解:

效果:

可以多调调高度宽度来帮助理解。

第二种(有角度的弧):

效果图:

实现角度弧的思路与正圆弧差不多,不同地方是:

不同点1. 伪元素大小与主元素一样,覆盖在主元素上;

不同点2. 设置伪元素的单个角度;

开篇一句话:CSS的伪类,伪元素就当成vue的过滤器使用就好了,我也是想到这个突然就茅塞顿开了。

用法:

:after 选择器表示向选定的元素之后插入内容。

要有content属性

需求举例:div按钮后面有个朝下的ico,点击div后 ico方向朝上

实现办法:

1.可以使用JS实现,div的class名绑定到一个变量上,根据变量的真假值更换class

2.伪类的实现方法

先说思路:

要借助两个class,基础class('base_class')和激活class('rotate').

base_class

相对定位。

base_class:after

放ico朝上的样式,绝对定位。

rotate不要单独加after,不然会取代掉base_class的after,

要两个class都出现才加after

rotate绑定到一个布尔变量上,该变量的真假值由open_select_window更改

html: