CSS选择器详解

1.选择器的作用

当我们把页面的结构做完之后,想要对页面中的元素进行一对一或者一对多的样式调整,就需要使用选择器。

例如:我们在页面里共插入了四张图片,四张图片的大小都一致,如果我们给每张图片都添加宽高,就比较麻烦。这时候可以用css选择器选中所有图片,这时只需要做一次宽高设置即可。

2.选择器类型及详解

(一)基本选择器

1.标签选择器(类型选择器):以html中的标签做选择器

                (1)语法格式:标签{属性:属性值; 属性:属性值;}

                        例如:设置文档中所有的图片宽为30px,高为35px。

                        img{width:30px;height:35px}

                (2)使用场景:当我们需要统一某个元素的样式或改变某个元素的默认样式时使用。

 2.类选择器(class选择器)

                (1)语法格式:.class名{属性:属性值; 属性:属性值;}

                       例如:html中有四张图片,第一张图片宽高为50px*50px,其他图片尺寸为30px*35px。我们就可以给第一张图片加class名。

                       加类名: <img class="item" src="路径">

                        设置样式:.item{width:50px;height:50px;}

                注意:类名可以由英文、中文(不推荐)、数字(不能放在第一位)、_组成。

                (2)使用场景

                        1.当我们需要把某个元素单独设置样式时

                        2.当html里有不同元素需要统一样式时使用

                    特点:一个元素可以有多个类名,类名之间需要用空格隔开

   代码演示                    

运行结果

                

3.ID选择器

        (1)语法格式: #id名{属性:属性值;属性:属性值;}

 例如:html中有四张图片,第一张图片宽高为50px*50px,其他图片尺寸为30px*35px。我们就可以给第一张图片加id。

                      添加ID:<img id="banner" src="路径">

                       调用id:#banner{width:50px;height:50px;}

            (2)使用场景

                        1.当我们需要把几个相同元素做区分设置样式时使用

                        2.当html里有不同元素需要统一样式时使用

注意:每个元素只能有一个id名,id命名规则参考class。

4.通配符选择器

                通配符:*

                (1)语法格式:*{属性:属性值;属性:属性值;}

                (2)使用场景:当我们需要对html中所有的元素统一设置样式时使用。通常用于清除边距。

                例如:*{margin:0;padding:0;}

5.群组选择器

                (1)语法格式:选择器1,选择器2,选择器3,…{属性:属性值;属性:属性值;}

                (2)使用场景:当有多个元素需要统一的声明时,使用群组选择器,能够减少代码量,便于后期维护。

                例如:html中的p标签、h2标签、a标签都需要把字号设置为24px,文字颜色为白色。此时应用群组选择器就比较方便。

                代码如下:

                       p,h2,a{font-size:24px;color:white;}

(二)层次选择器

        1.后代选择器(包含选择器)

                     (1)语法格式:父元素 后代元素{属性:属性值;}   

                     (2) 使用场景:当我们需要把父元素下所有后代元素样式统一时

                     (3)为什么要使用后代选择器而不用class选择器呢?因为当我们在做一个复杂页面时,代码量非常多,如果我们设置一个样式就定义一个class,那么我们很难区分各个类,并且起名会起到头秃。

                 案例:我们现在需要将一个类名为item的div下所有的p标签全部设置为红色字体。这时候我们给所有的p标签添加class是非常麻烦的。但是用后代选择器可以解决掉,代码如下:

               .item p{color:red;}

        2.子代选择器

                (1)语法格式:父元素>子元素{属性:属性值;}

                (2)使用场景:当我们需要把段落1、2、5的文字改成绿色,加粗时。如果使用包含选择器,就会把段落3、4一起改变。

这种情况就需要用子代选择器

代码如下:div>p{color:green;font-weight:bold;}

3.相邻兄弟选择器       

        (1)语法格式:前面的元素+后面的元素{属性:属性值;} 

        (2)使用场景:当我们需要给段落5改变字体颜色为黄色时,命名比较麻烦,就可以用。                .item>div+p{color:yellow;}

4.通用兄弟选择器

        (1)语法格式: 前面的元素~后面需要改变的元素{属性:属性值;}

        (2)使用场景:当我们需要把段落5设置格式时,代码如下

.item>div~p{}

                        

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值