前端web入门-CSS-day04

简介: 前端web入门-CSS-day04

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)

目录

复合选择器  

后代选择器

子代选择器

并集选择器

交集选择器

伪类选择器

伪类-超链接(拓展)

CSS 特性

继承性

层叠性

优先级

优先级 – 叠加计算规则

Emmet 写法

背景属性

背景图

背景图平铺方式

背景图位置

背景图缩放

背景图固定

背景复合属性

显示模式

转换显示模式


复合选择器  

定义:由两个或多个基础选择器,通过不同的方式组合而成。

作用:更准确、更高效的选择目标元素(标签)。

后代选择器

后代选择器:选中某元素的后代元素。

选择器写法:父选择器 子选择器 { CSS 属性},父子选择器之间用空格隔开。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 后代选择器,选中所有后代 */
        div span 
        {
            color: red;
        }
    </style>
</head>
<body>
    <span>span标签</span>
    <div>
        <span>div的儿子</span>
        <p>
            <span>div的孙子</span>
        </p>
    </div>
</body>
</html>

网页显示为:                                                                        

子代选择器

子代选择器:选中某元素的子代元素(最近的子级)。

选择器写法:父选择器 > 子选择器 { CSS 属性},父子选择器之间用 > 隔开。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div > span 
        {
            color: red;
        }
    </style>
</head>
<body>
    <div>
        <span>div的儿子</span>
        <p>
            <span>div的孙子</span>
        </p>
    </div>
</body>
</html>

网页显示为:                                                                      

并集选择器

并集选择器:选中多组标签设置相同的样式。

选择器写法:选择器1, 选择器2, …, 选择器N { CSS 属性},选择器之间用 , 隔开。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div,p,span
        {
            color: red;
        }
    </style>
</head>
<body>
    <div>111</div>
    <p>222</p>
    <span>333</span>
</body>
</html>

网页显示为:                                                                                      

交集选择器

交集选择器:选中同时满足多个条件的元素。

选择器写法:选择器1选择器2 { CSS 属性},选择器之间连写,没有任何符号。

注意:如果交集选择器中有标签选择器,标签选择器必须书写在最前面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        p.a
        {
            color: red;
        }
    </style>
</head>
<body>
    <p class="a">111</p>
    <p>222</p>
    <div class="a">333</div>
</body>
</html>

网页显示为:                                                                                      

伪类选择器

伪类选择器:伪类表示元素状态,选中元素的某个状态设置样式。

鼠标悬停状态:选择器:hover { CSS 属性 }

伪类-超链接(拓展)

超链接一共有四个状态

提示:如果要给超链接设置以上四个状态,需要按 LVHA 的顺序书写

CSS 特性

CSS特性:化简代码 / 定位问题,并解决问题

• 继承性

• 层叠性

• 优先级

继承性

继承性:子级默认继承父级的文字控制属性。(选择器选中父级,则父级内部子级全部改变)

注意:如果标签有默认文字样式会继承失败。

例如:a 标签的颜色、标题的字体大小。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body
        {
            color: red;
        }
    </style>
</head>
<body>
    <div>111</div>
    <p>222</p>
    <span>333</span>
    <br>
    <!-- 如果标签自己有样式,则生效自己的样式 -->
    <a href="#">444</a>
</body>
</html>

网页显示为:                                                                                          

层叠性

特点:

• 相同的属性会覆盖:后面的 CSS 属性覆盖前面的 CSS 属性

• 不同的属性会叠加:不同的 CSS 属性都生效

注意:选择器类型相同则遵循层叠性,否则按选择器优先级判断。

优先级

优先级:也叫权重,当一个标签使用了多种选择器时,基于不同种类的选择器的匹配规则。

规则:选择器优先级高的样式生效。

公式:通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内样式 < !important

(选中标签的范围越大,优先级越低)

优先级 – 叠加计算规则

叠加计算:如果是复合选择器,则需要权重叠加计算。

公式:(每一级之间不存在进位)

(行内样式, id选择器个数, 类选择器个数, 标签选择器个数)

规则:

• 从左向右依次比较选个数,同一级个数多的优先级高,如果个数相同,则向后比较

• !important 权重最高

• 继承权重最低(如果是继承,即使有!important也没有用)

     

Emmet 写法

Emmet写法:代码的简写方式,输入缩写 VS Code 会自动生成对应的代码。

HTML

CSS:大多数简写方式为属性单词的首字母

背景属性

背景图

网页中,使用背景图实现装饰性的图片效果。

属性名:background-image(bgi)

属性值:url(背景图 URL)

提示:背景图默认有平铺(复制)效果。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div
        {
            width: 300px;
            height: 300px;
            /* 背景图默认是平铺(复制)的效果 */
            background-image: url(../图片2.jpg);
        }
    </style>
</head>
<body>
    <div>111</div>
</body>
</html>

网页显示为:                                                      

背景图平铺方式

属性名:background-repeat(bgr)

属性值

背景图位置

属性名:background-position(bgp)

属性值:水平方向位置 垂直方向位置

• 关键字                      

 

• 坐标(数字 + px,正负都可以)

水平:正数向右;负数向左

垂直:正数向下;负数向上

提示:

关键字取值方式写法,可以颠倒取值顺序

• 可以只写一个关键字,另一个方向默认为居中;数字只写一个值表示水平方向,垂直方向为居中

背景图缩放

作用:设置背景图大小

属性名:background-size(bgz)

常用属性值:

• 关键字

cover:等比例缩放背景图片以完全覆盖背景区,可能背景图片部分看不见

contain:等比例缩放背景图片以完全装入背景区,可能背景区部分空白

• 百分比:根据盒子尺寸计算图片大小

• 数字 + 单位(例如:px)

提示:工作中,图片比例与盒子比例相同,使用 cover 或 contain 缩放背景图效果相同。

背景图固定

作用:背景不会随着元素的内容滚动。

属性名:background-attachment(bga)

属性值:fixed

背景复合属性

属性名:background(bg)

属性值:背景色 背景图 背景图平铺方式 背景图位置/背景图缩放 背景图固定(空格隔开各个属性值,不区分顺序)

显示模式

显示模式:标签(元素)的显示方式。

作用:布局网页的时候,根据标签的显示模式选择合适的标签摆放内容。

块级元素

独占一行

宽度默认是父级的100%

添加宽高属性生效    

行内元素

一行可以显示多个

设置宽高属性不生效

宽高尺寸由内容撑开

行内块元素

一行可以显示多个

设置宽高属性生效

宽高尺寸也可以由内容撑开

转换显示模式

属性名:display

属性值:


相关文章
|
3天前
|
前端开发 JavaScript 开发者
新一代前端框架:革命性的Web开发利器
传统的前端框架在满足日益复杂的Web开发需求上逐渐显露出局限性,而新一代前端框架的出现,以其革命性的设计和功能,重新定义了Web开发的标准。本文将介绍这些新一代前端框架的特点和优势,并探讨它们在实际项目中的应用。
|
8天前
|
JavaScript 前端开发 UED
【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
【5月更文挑战第2天】【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
|
8天前
|
JavaScript 前端开发 索引
【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
【5月更文挑战第2天】【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
|
8天前
|
存储 前端开发 JavaScript
【Web 前端】如何找到所有 HTML select 标签的选中项?
【5月更文挑战第2天】【Web 前端】如何找到所有 HTML select 标签的选中项?
|
8天前
|
JavaScript 前端开发 C++
【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
【5月更文挑战第2天】【Web 前端】JavaScript window.onload 事件和 jQuery ready 函数有何不同?
|
8天前
|
前端开发 JavaScript
【Web 前端】$(document).ready() 是个什么函数?为什么要用它?
【5月更文挑战第2天】【Web 前端】$(document).ready() 是个什么函数?为什么要用它?
|
19天前
|
开发框架 前端开发 .NET
C#编程与Web开发
【4月更文挑战第21天】本文探讨了C#在Web开发中的应用,包括使用ASP.NET框架、MVC模式、Web API和Entity Framework。C#作为.NET框架的主要语言,结合这些工具,能创建动态、高效的Web应用。实际案例涉及企业级应用、电子商务和社交媒体平台。尽管面临竞争和挑战,但C#在Web开发领域的前景将持续拓展。
|
8天前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
2天前
|
前端开发 JavaScript Java
Java与Web开发的结合:JSP与Servlet
Java与Web开发的结合:JSP与Servlet
7 0
|
2天前
|
存储 程序员 API
python web开发示例详解
python web开发示例详解
11 0