前端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天前
|
设计模式 前端开发 Java
【前端学java】SpringBootWeb极速入门-分层解耦(03)
【8月更文挑战第13天】SpringBootWeb极速入门-分层解耦(03)
8 2
【前端学java】SpringBootWeb极速入门-分层解耦(03)
|
4天前
|
开发框架 前端开发 Java
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
【8月更文挑战第12天】SpringBootWeb极速入门-实现一个简单的web页面01
16 3
【前端学java】SpringBootWeb极速入门-实现一个简单的web页面01
|
4天前
|
JSON 前端开发 Java
【前端学java】SpringBootWeb极速入门-请求参数解析(02)
【8月更文挑战第12天】SpringBootWeb极速入门-请求参数解析(02)
10 1
【前端学java】SpringBootWeb极速入门-请求参数解析(02)
|
1天前
|
前端开发 IDE Java
"揭秘前端转Java的秘径:SpringBoot Web极速入门,掌握分层解耦艺术,让你的后端代码飞起来,你敢来挑战吗?"
【8月更文挑战第19天】面向前端开发者介绍Spring Boot后端开发,通过简化Spring应用搭建,快速实现Web应用。本文以创建“Hello World”应用为例,展示项目基本结构与运行方式。进而深入探讨三层架构(Controller、Service、DAO)下的分层解耦概念,通过员工信息管理示例,演示各层如何协作及依赖注入的使用,以此提升代码灵活性与可维护性。
|
2天前
|
缓存 前端开发 JavaScript
高效开发现代 Web 应用:从前端到后端的最佳实践
在开发现代 Web 应用时,前端和后端技术的选择对项目的性能、可维护性和用户体验至关重要。本文将探讨如何通过现代工具和框架来优化前端和后端开发流程。我们将分析前端技术(如 React 和 Vue.js)与后端技术(如 Node.js 和 Django)的集成,并提供实际案例来展示如何实现高效开发。无论是对新手还是经验丰富的开发者,本指南都提供了宝贵的洞见和实用的技巧,以帮助提高开发效率并构建出色的 Web 应用。
|
2天前
|
缓存 编解码 前端开发
优化Web应用性能的前端技巧:从加载时间到用户体验
在现代Web开发中,提升前端性能不仅仅是为了缩短页面加载时间,更是为了提供更流畅的用户体验。本文将探讨几种有效的前端优化技术,包括懒加载、代码拆分、资源压缩以及浏览器缓存策略。通过具体实例和最佳实践,读者将能够掌握如何系统地提高Web应用的响应速度,减少资源消耗,并最终改善用户的整体体验。
|
1天前
|
前端开发 测试技术 定位技术
Web Accessibility基础:构建无障碍的前端应用
网络无障碍确保所有人平等访问网站与应用,覆盖视觉、听觉等多种障碍。关键技术包括:文本替代(alt属性)、ARIA角色、清晰表单标签、键盘导航、颜色对比、视觉隐藏、ARIA live区域、触控优化、语义化编码、视觉反馈、语音支持、易读文本、状态指示、色盲友好、屏幕阅读器兼容、响应式设计、媒体内容字幕、定期测试、图像地图、语音合成、明确错误提示及焦点管理。
4 0
|
4天前
|
前端开发 开发者 编解码
Web中的CSS
Web中的CSS
|
1月前
|
JavaScript 前端开发 Java
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(二)
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(二)
|
1月前
|
前端开发 数据安全/隐私保护
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(一)
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(一)