当前位置: 首页 > Web前端 > CSS

你应该知道的CSS基础知识——选择器篇

时间:2023-03-31 12:08:32 CSS

作为一个长期做后端服务的程序员,一直为如何呈现漂亮的UI而苦恼。幸运的是,许多流行的CSS框架,如Bootstarp、Bluma、Foundation和Uikit,都可以帮助后端程序员快速构建一个看起来不那么low的UI。但是,仅使用框架提供的默认样式并不能满足所有需求。您仍然需要了解一些基本的CSS知识才能更好地使用该框架。最近正好有时间学习一下CSS的基础知识,写个系列文章记录一下。CSS选择器使用CSS代码为指定的DOM元素赋予指定的样式,就需要CSS选择器,即选择器。常用的选择器有以下几种:元素选择器类选择器全局选择器ID选择器属性选择器元素选择器按元素类型选择DOM元素,示例代码如下。设置所有div元素的背景色为红色div{background-color:red;}设置所有a标签为绿色a{color:green;}类选择器通过元素上的class属性选择DOM元素,例如:将class属性中有title的元素的字体大小设置为42px.title{font-size:42px;}我是title全局选择器给所有元素赋值页面到某个这种样式,通常我们不会使用这种选择器。设置所有元素以border为边界来计算盒子模型的高和宽。*{box-sizing:border-box;}ID选择器通过元素上的id属性来选择DOM元素,例如:将id为login-btn的元素的背景设置为绿色#login-btn{background-color:绿色的;}我是登录按钮属性选择器通过元素上的具体属性值来选择DOM元素,例如:将包含disabled属性的元素设置为灰色[disabled]{color:grey;Iamunavailablebutton以上是几种基本的选择器,有些选择器是通过元素之间的结构关系来选择的。比如我们要选取某个id属性下的所有p元素。可以使用如下代码:news下所有id为p的元素都会变成红色。#newsspan{color:red;}

我是红色的

我是红色的

我是红色的

可以使用>指定只选择直接子元素。news下的直接子元素中,id会被设置为红色。#news>p{color:red;}

我是红色的

我是红色的

我不是红色的

p>
用+选择指定元素的下一个元素,指定元素和被选元素属于同一个父元素。selectionid是紧跟在news之后的p元素,news和被选中的p元素都是父元素的直接子元素。#news+p{color:red;}

我不红

我不红

我是red

我不红

我不红

用~选择指定元素后的相邻元素,指定的元素与所选元素属于同一父元素。selectionid是news后面相邻的p元素,所有被选中的元素都是parent的直接子元素。#news~p{color:red;}

我不红

我不红

我是red

我是红色的

我不是红色的

使用伪类选择奇偶性或者指定第N个孩子元素id是news的第三个直接子元素,如果它是p元素,则设置为红色。#news>p:nth-child(3){color:red;}

我不红

我不红

我是红的

我不是红的

id是news基位置的直接子元素,如果是p元素就设置为red。#news>p:nth-child(odd){color:red;}

我是红色的

我不是红色的

我amRed

I'mnotred

I'mnotred
id是news的子元素,设置p的第二个元素变红。#news>p:nth-of-type(2){color:red;}
我不红

我不红

我是红的

我不是红的

css选择器先总结这些,再总结css的属性继承机制。