3、CSS选择器

3、CSS选择器

1、什么是CSS?

全称

Cascading Style Sheets 通常称为CSS样式表或层叠样式表(级联样式表)

作用

  • 为HTML标记语言提供了一种样式描述

  • 即【设置HTML页面中的元素的位置、排版、样式外观等】 如文本内容(字体、大小、对齐方式等)、图片的外形(宽、高、边框等)

CSS语法规范

CSS 规则由两个主要的部分构成:选择器、一条或多条声明。

选择器:通常是需要改变样式的 HTML 标签。

声明组:以大括号{}括起来。

每条声明由一个属性和一个值组成,属性与属性值之间以【冒号】分隔,用【分号】将每个声明分开。

2、CSS引入方法

当读到一个样式表时,浏览器会根据它来格式化 HTML 文档,插入样式表的方法有三种:行间样式表,内部样式表,外部样式

1、行间样式

概述:

  • 通过HTML元素的style属性设置样式称为行间样式

  • 放在开始标签的内部

  • 代码示例

    <div style="width:100px;height:100px;background-color:red;">div</div>
  • 适用场景:

    单个html标签需要设置样式

    优缺点:比较直观;相同样式需要重复定义,造成代码冗余;作用范围小,不利于后期代码维护;代码不能复用,结构与样式变现不分离

  • 注:任何HTML元素都可以设置行间样式

2、内部样式

  • 概述:

    在head标签的内部,由style标签包含的样式称为内部样式

  • 语法:用style标签对包住样式

  • 适用场景:

    1.单个HTML文档需要设置样式

    优缺点:

    相对于行间样式,代码能够复用,作用范围大于行间样式的范围;

    结构与表现半分离

  • 代码示例

    <head>
        <style> </style>
    </head>

3、外部样式

  • 概述

    • 外部样式表是指将CSS编写在扩展名为.css 的单独文件中,使用link标签引用

    • 位置:在外部新建的css文件中书写样式(后缀名为.css的文件);

      在head标签的内部使用link标签引入在外部新建的css文件

    • 头部标签内部使用link标签引用

      <head>
          <link rel="stylesheet" href="./style.css">
      </head>
      • 说明

        • href="" 资源链接的地址

        • rel表示引入文 件与当前文 档的关系

        • stylesheet为样式表

        • rel="stylesheet"是将本HTML页面和css文件关联起来

  • 适用场景:

多个HTML文档具有相同样式时

优缺点

1.适用范围广,可以使用代码的复用;

2.便于修改和维护代码;

3.结构与表现彻底分离

总结:

  • 行间样式适用于某个元素拥有特殊样式时使用,结构 表现【不分离】

  • 内部样式适用于单个页面拥有特殊样式时使用,结构表现【半分离】

  • 外部样式适用于多个页面拥有相同样式时使用,结构表现【相分离】

3、css注释

什么是注释 :

注释即对代码的解释和说明,不会被浏览器解析执行

注释的语法:

CSS中的注释以"注释以/*开头,以*/结尾,开始和结束中间为注释内容
​
 /* css 注释 */

生成快捷方式:

ctrl + /

4、什么是选择器

  • CSS选择器是CSS规则的第一部分,每个CSS规则都以一个选择器或一组选择器为开始

  • CSS 选择器即用于“查找”(或选取)要设置样式的 HTML 元素的模式

  • 选择器可以分为基础选择器、复合选择器

5、基本选择器

1、通配(通用)选择器

  • 语法 *{ 样式声明 }

  • 作用:匹配任意类型的HTML元素

<style>        
    /* 页面上所有元素都被选择 */
    *{
        background-color:green;
    }
        
</style>
<body>
    <p>p</p>
    <div>div1</div>
    <div>div2
        <div>div3</div>
    </div>
    
</body>
​
​
   /* 一般用于清除浏览器的默认样式 */
            margin: 0;
            padding: 0;
权重是0

2、元素名称(标签)选择器

  • 语法: 元素名称{ 样式声明 }

  • 作用:选择所有同一元素名称的所有元素

/* 选择body */
body{
    background-color:green;
}
/* 选择页面上所有的div */
div{
    width:100px;
    height:100px;
    background-color:red;
}
/* 选择页面上所有的p */
p{
    background-color: pink;
}

3、类选择器

  • 语法

    • HTML中通过class属性定义

      <div class="box"></div>
    • css中以点进行标识:.

      .类名 {
          样式声明;
      }
      .box{
          background-color:red;
      }
  • 作用:选择所有带有指定类名的元素

  • 多类名的使用(词列表)

    • 语法:空格隔开

    •     <p class="box box1 box2">p</p>

4、id选择器

  • 语法

    • HTML中通过id属性定义

      如:

      <div class="box"></div>
    • css中以点进行标识:#

      #id名称 { 
          样式声明;
      }
      ​
      ​
      #box{
          background-color:red;
      }
  • 作用:选择所有带有指定类名的元素

注意:具有唯一性,一般用于页面唯一性的元素如头部、底部等,经常和 JavaScript 搭配使用。

类与id的命名规则

  • 见词知义,尽量用英文;

  • 始终建议以字母开头,可以包含数字、字母、下划线等

  • 不要以数字开头

  • 多个单词可以以驼峰式(newsCont)、中划线连接(news-cont)、下划线连接(news_cont)等

1、id选择器

  • 语法

    • HTML中通过id属性定义

      如:

      <div class="box"></div>
    • css中以点进行标识:#

      #id名称 { 
          样式声明;
      }
      ​
      ​
      #box{
          background-color:red;
      }
  • 作用:选择所有带有指定id名的元素

注意:具有唯一性,一般用于页面唯一性的元素如头部、底部等,经常和 JavaScript 搭配使用。

总结

  • 总结使用频率

    • 基础选择器中最常用是类选择器

    • id用于页面中唯一模块

    • 标签选择器定义的全局样式,单独使用要慎重

    • *号通常用于重置样式【最不常用】

2、表格CSS 属性

1、表格边框

指定 CSS 表格边框,使用 border 属性,通常定义td,th的边框属性

表格会呈现双边框,是因为表和 th / td 元素有独立的边界。

table存在默认属性border-collapse:separate

2、表格的折叠边框

border-collapse 属性设置表格的边框是否被合并为一个单一的边框

  • 取值

    • separate:边框独立(默认值)

    • collapse:相邻边框被合并

  • border-spacing:单元格之间的间距

    • border-spacing:水平方向 垂直方向;

    • border-spacing:一个值;代表水平方向和垂直方向的间距是一样的 注意:只有在 边框独立border-collapse: separate时才能用

3、单元格内容的垂直对齐

  • vertical-align 作用:垂直对齐属性设置垂直对齐,比如顶部,底部或中间

  • 常用值

    • top顶部对齐

    • middle居中对齐

    • bottom底部对齐

小节:如何使用css实现表格的1像素边框

table{
    border-collapse:collspse;
}

3、CSS字体 ,文本属性

学习目标

  • 熟练掌握css常用文本属性

  • 熟练掌握css常用字体属性

  • 能够说出颜色的常用表示方法

1、font-family:

  • 作用:设置文本的字体系列

  • 语法:font-family:字体名称

  • 常用值:

    • 一个字体名称或系列名称(介绍常用字体名称、字体系列)

      • 微软雅黑 Microsoft YaHei

      • 宋体 simsun

      • 黑体 HeiTi

      • 楷体 KaiTi

    • 多个字体名称

      • 逗号分开 如果浏览器不支持第一个字体,则会尝试下一个(回退机制)

        1.使用多个字体名称形成一个回退系统(也就是备用字体),当浏览器不支持第一个字体的时候则会尝试下一个字体,多个字体之间用逗号隔开
        2.中英文混合字体时,要先写英文字体,在写中文字体
        font-family: 'Times New Roman', '楷体', '宋体'
        .box{
            /*font-family:"微软雅黑","宋体";*/
            /*font-family:"宋体","微软雅黑"; *//*与上一个相比产生的效果不同,谁在前使用哪一个*/
            font-family:"微软雅黑abc","宋体"; 
            /*第一个任意改写一个系统不存在的字体,会按照第二个字体显示*/
        }

2、font-size

  • 作用:设置字体的大小

  • 语法:font-size:值

  • 常用值:

    • 长度值(通常是像素px)

    • 百分比(相对于父元素字号计算)

  • em

    • 相对单位

    • 如果用于字号,相当于父元素字号计算,如果用于其它属性,相对于当前元素的字号

  • 一般浏览器默认的大小为16px,支持最小的字体为12px。

3、font-style

  • 作用:设置字体的样式

  • 语法:font-style:值

  • 常用值:

    • normal默认值

    • italic斜体显示

4、font-weight

  • 作用:设置字体粗细

  • 语法:font-weight:值

  • 常用值:

    • normal默认值

    • bold加粗

    • 100-900九级字重, 400相当于normal,700相当于bold

5、line-height

  • 作用:设置行高(效果是产生文本行间距)

  • 语法:line-height:值

  • 特性:实现单行文本的垂直居中

  • 测量:文字高+行间距

  • 打开px软件--在视图菜单---标尺(Ctrl+r)

    参考线:在标尺上按住鼠标左键不松手,拖拽鼠标

    按住alt键,放大图纸,为了测量更加准确,滚动滚轮,向外滚表示放大,向内滚表示缩小

    方法:测量两行文字中间的间距,然后除以2,得到平均间距,拉出参考线,进行标注,方便测量

  • 常用值

    • normal默认。设置合理的行间距。

  • px 设置固定的行间距。

  • 百分比:相对于font-size计算

    .box{
    line-height:200%; /*产生的效果一致都是字号的两倍*/
    }
     line-height: 26px;
     如果行高属性值没有单位,那么表示字号的倍数
    20px/2 表示:字体大小是20px,行高是字体的两倍40px

6、font简写

  • 作用:设置所有字体属性

  • 语法:font: 字体风格 字体加粗 字号/行高 字体;

    • 依次【空格】隔开

  • 总结:只有当【字号和字体】同时存在简写才是有效的,简写属性可以精简简代码

    font:font-style font-weight font-size/line-height font-family;
    顺序:文字的样式 文字的加粗 文字的字号/行高 文字的字体
    注意:如果font属性有效,则必须要有font-size属性和font-family属性
    font: italic bold 14px/2 '微软雅黑';

7、text-align:

  • 作用:设置文本的水平对齐方式

  • 语法:text-align:值

  • 常用值

    • left居左对齐 [默认值]

    • right居右对齐

    • center居中对齐

    • text-align: justify文本两端对齐方式

  • 注:适用于块状元素

8、text-decoration

  • 作用:设置文本装饰

  • 语法:text-decoration:值

  • 常用值

    • none 默认。定义标准的文本。 【常用】

    • underline 定义文本下的一条线 【常用】

    • line-through 定义穿过文本的一条线。【比较常用】

    • overline 定义文本上的一条线。 【不常用】

9、text-indent

  • 作用:设置文本块首行的缩进

  • 语法:text-indent:值

  • 常用值

    • 默认值:0

    • 长度值,px,em

    • 百分比: 相对于元素内容宽进行计算

    • 允许负值

10、color

  • 作用:设置文字的颜色

  • 语法:color:颜色值

颜色的几种表现形式

1.英文的关键词:red红色,orange橙色,yellow黄色,green绿色,cyan青色,blue蓝色,purple紫色

transparent:透明色

2.十六进制色值

ps:英文状态下,按下i键,鼠标右键单击,拷贝颜色的十六制进制代码,在代码中ctrl+v粘贴

在代码的颜色中要写#在粘贴颜色的十六进制代码

由#和六位十六进制的数组成(0-9 a-f)

例:#000000表示黑色 #ff0000表示红色 #ffffff 表示白色

  1. rgb(r,g,b)

r: red 红色 g: green 绿色 b: blue 蓝色

取值范围0-255

rgb(255, 255, 255); 表示白色

rgb(0, 0, 0);表示黑色

4.rgba(r,g,b,a)

r: red 红色 g: green 绿色 b: blue 蓝色

a: alpha 透明度 透明度在0-1之间表示,0表示完全透明 1 表示完全不透明

4、常用复合选择器

概述:由两个或多个基础选择器通过不同的方式组合而成的选择器

1.后代选择器

后代选择器又称包含选择器,可以选择某元素后代的元素

  • 语法:

    E F {
        样式声明;
    ​
    }
  • 描述:【空格】连接一个或多个选择器

  • 作用: 选择E元素内部包含的所有F元素

 /* .warp 范围内所有的span都有效 */
.wrap span {
            color: tomato;
        }
 <div class="wrap">
        <span>我是第一个span</span>
        <ul>
            <li>
                <span>我是第a二span个</span>
            </li>
        </ul>
        <span>我是第三个span</span>
        <div class="txt">div文本</div>
    </div>
​

2.子代选择器

子代选择器他只能选择他的子代范围内的选择器,也就是父子关系

  • 语法

    E > F {
        样式声明; 
    }
  • 描述:【大于】号 连接一个或多个选择器

  • 作用: 选择E元素内部包含的所有直接子元素F(第一嵌套层级)

父类选择器与子代选择器之间与大于号隔开
 /* .warp 范围内所有的子元素span都有效 */
.wrap>span {
            color: tomato;
        }
 <div class="wrap">
        <span>我是第一个span</span>
        <ul>
            <li>
                <span>我是第a二span个</span>
            </li>
        </ul>
        <span>我是第三个span</span>
        <div class="txt">div文本</div>
    </div>
    </div>

3.群组选择器

群组选择器是在样式表中有很多具有相同样式的元素,为了尽量减少代码,我们可以用群组选择器

群组选择器是将任意多个选择器分在一组,每个选择器之间用逗号隔开

  • 语法

    E,F { 
        样式声明;
    }
  • 描述:【逗号】连接一个或多个选择器

  • 作用: 使用逗号分隔的列表来对选择器进行分组,给列表中每一个选择器选中的元素设置样式

      选择器1,选择器2,选择器3{};
    选择器1和选择器2选择器3是都具有相同的样式的
    选择器1和选择器2选择器3中间以逗号来隔开: 选择器1,选择器2,选择器
​
    注意:最后一个选择器后面不用加逗号
​
        h2,
        h3,
        h6,
        div,
        .box,
        #box2 {
            color: blue;
        }
    <h2>h2h2h2h2h2h</h2>
    <h3>h3h3h3h3h3</h3>
    <h6>h6h6h6h6h6h</h6>
    <div>divdivdiv</div>
    <div class="box">box111</div>
    <p id="box2">ppppp</p>

4.伪类链接选择器

用于添加特殊效果

  • 语法

    选择器:伪类{ }
  • 用于设置链接的不同状态

    a:link{ 链接的默认样式 }
    a:visited{ 链接访问过后的样式 }
    a:hover{ 鼠标悬停的样式 }
    a:active{ 鼠标按下的样式 }
    
    a:link {
            color: tomato;
        }
​
        a:visited {
            color: yellow;
        }
​
        a:hover {
            color: purple;
        }
​
        a:active {
            color: greenyellow;
        }

四个伪类状态都有效:L-v-H-a

  • :hover不仅可以表示链接的悬停,也可以用于其他标签中

/* 鼠标悬停到.box1盒上,让其本身的背景颜色变为蓝色 */
    .box1:hover{
        background-color: lightblue;
    }
/* 鼠标悬停到.box2盒上,让p标签文字颜色变为红色 */
    .box2:hover p{
        color: red;
    }
/* 鼠标悬停到.box3上,让p标签和h3标签的文字颜色都变为blue */
    .box3:hover h3,
    .box3:hover p{
        color: red;
    }
    
    .box3  :hover{
        color: blue;
    }

5.相邻选择器

  • 语法

    • 示例:E+F{ 样式声明 } 用加号连接

    • 描述:【加号】 连接一个或多个选择器

  • 作用:E元素之后紧跟着的兄弟元素F

  • 代码示例

    .box + p{
        background-color:red
    }
    ​
    <p>这个P元素不会被应用样式</p>
    <div class="box">box</div>
    <p>这个P元素会被应用样式</p>
    <p>这个P元素不会被应用样式</p>

                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值