CSS学习(选择器、盒子模型)

1、CSS了解

CSS:层叠样式表,一种标记语言,用于给HTML结构设置样式。

样式:文字大小、背景颜色等

p标签内不能嵌套标题标签。

px是相对于分辨率而言的,

em是相对于浏览器的默认字体,

rem是相对于HTML根元素的。

2、CSS编写位置

1、行内样式(内联样式):在标签里添加样式,使用style进行添加。只能控制当前标签的样式。

2、内部样式:在head标签中添加style标签进行编写,head标签里,style标签中。

3、外部样式:写在.css文件中,在html文件使用link标签进行引用。link标签写在head标签中。

        link标签的属性说明:

                href:引入的文档来自哪里。

                rel:说明引入的文档与当前文档的关系。

样式表的优先级(同名的属性):行内样式优先级高于内部样式和外部样式,内部样式的优先级与外部样式的优先级相同,同名属性的值与书写顺序有关,后写的有效(后来者居上)。后写的覆盖前面写的。

 3、语法规范

选择器 {声明块表列}

4、CSS选择器 

(1)通配选择器

/* 选中所有的HTML元素 */
* {
}

(2)元素选择器

/* 元素名,即是标签名,不能差异化设置样式 */
元素名 {
}

(3)类选择器 

/* 根据类名,设置样式,不同的元素,可以是一个分类,一个元素,不能有多个class属性,可以写在一个class中,用空格隔开 */
.类名 {
}

(4)id选择器 

/* id不能数字开头,一个元素不能有多个id,一个标签可以同时有id和class,id属性不包含空格 */
#id名 {
}

(5)交集选择器

/* p标签且类名为people */
p.people {
}
/* p标签,类名为beauty且id为wc */
p.beauty#wc {}

 (6)并集选择器

/* 类名为r1、r2、r3,id为users的元素,添加相同属性,使用逗号隔开就行 */
.r1,
.r2,
#users,
.r3 {}

元素之间的关系: 

        父元素:直接包裹某个元素的元素,就是该元素的父元素。

        子元素:被父元素直接包裹的元素。

        祖先元素:父亲的父亲的........,一直向外找,都是祖先。(父元素也算祖先的一种)

        后代元素:儿子的儿子的........,一直往里找,都是后代。(子元素也算后代的一种)

        兄弟元素:具有相同父元素的元素,互为兄弟元素。

(7)后代选择器 

/* 对ul中的li设置属性  li为ul的后代(不止儿子元素,孙子也算) */
ul li {}/* id、类都可以进行后代选择 */

 (8)子代选择器

/* div标签的儿子a标签,子元素,先写父,再写子 */
div>a {}
/* 最终选中的是子代 */

(9) 兄弟选择器

/* (相邻兄弟选择器)选中与div标签紧紧相邻的一个兄弟p标签 */
div+p {}/* (通用兄弟选择器)选中与div标签的所有兄弟p标签 */
div~p {}

(10)属性选择器 

/* 选中具有title属性的元素 */
[title] {}/* 具有title属性且属性值为a1的元素 */
[title="a1"]{}/* 模糊写法:具有title属性且以a开头的元素 */
[title^="a"] {}/* 模糊写法:具有title属性且以a结尾的元素 */
[title$="a"] {}/* 模糊写法:具有title属性且包含有a的元素 */
[title*="a"] {}

(11)伪类选择器 

什么是伪类?

——很像类,但不是类,是元素特殊状态的一种描述。

伪类选择器的作用

——选中特殊状态的元素

/* 选中未被访问过的a标签 */
a:link {}/* 选中访问过的a标签 */
a:visited {}/* 选中元素鼠标悬浮 */
a:hover {}/* 选中元素激活 */
a:active {}/* 有顺序的 link -> visited -> hover -> active */
/* link 和 visited 是a标签独有的 *//* 获取焦点(表单元素,需要输入的元素:input、select) */
input:focus {}
<1>结构伪类 
/* 选中div的子元素p的第一个儿子 */
div>p:first-child {}/* 选中div的第n个儿子p元素 */
div>p:nth-child(n) {}
/* 2n选中偶数(even)2n+1选中奇数(odd) *//* 选中前五个元素 */
div>p:nth-child(-n+5) {}
/* nth-child(),括号中形式必须为an+b *//* 无论p元素前有多少其他标签都选中第一个p标签 */
div>p:first-of-type {}/* 选中div中倒数第n个儿子p元素(所有兄弟) */
div>p:nth-last-child(n) {}/* 选中div中倒数第n个儿子p标签(所有同类型的兄弟) */
div>p:nth-last-of-type(n) {}/* 选中没有同类型兄弟的span元素 */
span:only-of-type {}/* 选中HTML根元素 */
:root {}/* 选中没有内容的div元素 */
div:empty {}
<2>否定伪类 

否定伪类:

        :not(选择器) 排除满足括号中条件的元素。

/* 选中div的儿子p元素,排除类名为fail的元素 */
div>p:not(.fail) {}
<3>UI伪类
/* 复选框勾选或单选按钮,选中状态 */
input:checked {}/* 选中被禁用的input元素 */
input:disabled {}/* 选用可用的input元素 */
input:enabled {}
<4>目标伪类

:target        选中锚点指向的元素

/* 选中锚点所指向的元素 */
div:target {}
<5>语言伪类

:lang()        根据指定的语言选择元素(本质是看lang属性的值)

/* 选择语言为cn的div元素 */
div:lang(cn) {}

(12)伪元素选择器

伪元素的作用:选中元素的一些特殊位置

/* lorem    随机生成一串英文(VS Code中使用) *//* 将第一个单词的第一个字母改变样式 */
div::first-letter {}/* 选中第一行元素 */
div::first-line {}/* 选中被鼠标选择的文字 */
div::selection {}/* 选择input元素中的提示文字 */
input::placeholder {}/* 选中的p元素最开始的位置,随后创建一个子元素 */
p::before {content:"¥";
}/* 选中的p元素最后的位置,随后创建一个子元素 */
p::after {content:"¥";
}

5、选择器的优先级

通过不同的选择器选中相同的元素,并且为相同的样式名设置不同的值,优先级如下:

        行内样式 > ID选择器 > 类选择器 > 元素选择器 > 通配选择器 

        同类型选择器遵循后来者居上规则

 6、盒子模型

 什么是盒子?

        所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充和实际内容。盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

默认宽度:不设置width属性时,元素所呈现出的宽度。

/* 复合属性padding的书写方式 */
/* 复合属性写一个值,含义:四个方向的内边距是一样的 */
padding:20px;/* 复合属性写两个值,含义:上下、左右 */
padding:20px 10px;/* 复合属性写三个值,含义:上、左右、下 */
padding:20px 10px 5px;/* 复合属性写四个值,含义:上、右、下、左 */
padding:20px 15px 10px 5px;/* padding的值不能为负数 */
/* 行内元素的上下内边距不能完美设置,左右内边距没问题 */
/* 块级元素、行内块元素,四个方向内边距可以完美设置 */

7、内容溢出 

/* 处理溢出 */
overflow:auto/* 分为x、y两个方向上处理溢出 */
overflow-x:hidden;
overflow-y:visible;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4089.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

刷题日记 ---- 顺序表与链表相关经典算法题(C语言版)

目录 1. 移除元素2. 合并两个有序数组3. 移除链表元素4. 反转链表5. 合并两个有序链表6. 链表的中间结点7. 环形链表的约瑟夫问题8. 分割链表总结 正文开始 1. 移除元素 题目链接: 移除元素 题目描述: 思路历程: 题目明确要求, 不能使用额外的数组空间, 也就是说不可以创建…

【优质书籍推荐】AIGC时代的PyTorch 深度学习与企业级项目实战

大家好&#xff0c;我是herosunly。985院校硕士毕业&#xff0c;现担任算法研究员一职&#xff0c;热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名&#xff0c;CCF比赛第二名&#xff0c;科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的…

springcloud按版本发布微服务达到不停机更新的效果

本文基于以下环境完成 spring-boot 2.3.2.RELEASEspring-cloud Hoxton.SR9spring-cloud-alibaba 2.2.6.RELEASEspring-cloud-starter-gateway 2.2.6.RELEASEspring-cloud-starter-loadbalancer 2.2.6.RELEASEnacos 2.0.3 一、思路 实现思路&#xff1a; 前端项目在请求后端接…

C++ 哈希

&#x1f493;博主CSDN主页:麻辣韭菜&#x1f493;   ⏩专栏分类&#xff1a;C知识分享⏪   &#x1f69a;代码仓库:C高阶&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多C知识   &#x1f51d;&#x1f51d; ​ 前言 1. unordered系列关联式容器 1.1 unor…

必应bing国内广告开户注册教程!

今天搜索引擎广告成为企业推广产品与服务、提升品牌知名度的重要渠道之一。作为全球第二大搜索引擎&#xff0c;必应Bing凭借其高质量的用户群体和广泛的国际覆盖&#xff0c;为广告主提供了独特的市场机遇。在中国&#xff0c;虽然必应的市场份额相对较小&#xff0c;但对于寻…

磁密固定下的三次谐波与电压谐波的关系

同相位或者相位差为180的情况下&#xff0c;磁通密度三次谐波含量占比 α \alpha α&#xff0c;则电压三次谐波含量占比为 3 α 3\alpha 3α 同相位&#xff0c;磁通密度三次谐波含量占比 α \alpha α情况下&#xff0c; B B 0 sin ⁡ ( ω t ) α B 0 sin ⁡ ( 3 ω t )…

航空企业数字化解决方案(207页PPT)

一、资料描述 航空企业数字化解决方案是一项针对航空公司在数字化转型过程中所面临挑战的全面应对策略&#xff0c;旨在通过先进的信息技术提升航空企业的运营效率、客户服务水平以及市场竞争力。这份207页的PPT详细介绍了航空企业数字化的各个方面&#xff0c;包括关键技术的…

Web3技术解析:区块链在去中心化应用中的角色

引言 在过去几年中&#xff0c;Web3技术已经成为了互联网领域的一个热门话题。作为区块链技术的延伸&#xff0c;Web3不仅仅是数字货币的代名词&#xff0c;更是一个能够为各种应用提供去中心化解决方案的强大工具。本文将深入探讨区块链在Web3去中心化应用中的关键角色&#…

ubuntu查看opencveigen

ubuntu查看opencv&eigen&cmake版本的方法 eigen eigen版本号在/usr/include/eigen3/Eigen/src/Core/util/Macros.h文件中&#xff0c;下图代表版本3.3.7 opencv版本 pkg-config --modversion opencv4也可能最后的字符串是opencv2&#xff0c;opencv

W801学习笔记十二:掌机进阶V3版本之驱动(PSRAM/SD卡)

本次升级添加了两个模块&#xff0c;现在要把他们驱动起来。 一&#xff1a;PSRAM 使用SDK自带的驱动&#xff0c;我们只需要写一个初始化函数&#xff0c;并在其中添加一些自检代码。 void psram_heap_init(){wm_psram_config(0);//实际使用的psram管脚选择0或者1&#xff…

Java学习路线及自我规划

荒废了一段时间&#xff0c;这段时间的总结开始了JavaWeb的学习但是困难重重&#xff0c;例如Maven&#xff0c;Vue的路由等&#xff0c;所以我反省了一段时间&#xff0c;因为基础薄弱&#xff0c;加之学习的资源是速成视频&#xff0c;导致大厦将倾的局面&#xff08;也算不上…

RabbitMQ工作模式(5) - 主题模式

概念 主题模式&#xff08;Topic Exchange&#xff09;是 RabbitMQ 中一种灵活且强大的消息传递模式&#xff0c;它允许生产者根据消息的特定属性将消息发送到一个交换机&#xff0c;并且消费者可以根据自己的需求来接收感兴趣的消息。主题交换机根据消息的路由键和绑定队列的路…

盲人地图使用的革新体验:助力视障人士独立、安全出行

在我们日常生活中&#xff0c;地图导航已经成为不可或缺的出行工具。而对于盲人群体来说&#xff0c;盲人地图使用这一课题的重要性不言而喻&#xff0c;它不仅关乎他们的出行便利性&#xff0c;更是他们追求生活独立与品质的重要一环。 近年来&#xff0c;一款名为蝙蝠…

echarts地图叠加百度地图底板实现数据可视化

这里写自定义目录标题 echarts地图叠加百度地图实现数据可视化echarts地图叠加百度地图实现数据可视化 实现数据可视化时,个别情况下需要在地图上实现数据的可视化,echarts加载geojson数据可以实现以地图形式展示数据,例如分层设色或者鼠标hover展示指标值,但如果要将echa…

运筹系列91:vrp算法包PyVRP

1. 介绍 PyVRP使用HGS&#xff08;hybrid genetic search&#xff09;算法求解VRP类问题。在benchmark上的评测结果如下&#xff0c;看起来还不错&#xff1a; 2. 使用例子 2.1 CVRP COORDS [(456, 320), # location 0 - the depot(228, 0), # location 1(912, 0), …

通往AGI路上,DPU将如何构建生成式AI时代的坚实算力基石?

4月19日&#xff0c;在以“重构世界 奔赴未来”为主题的2024中国生成式AI大会上&#xff0c;中科驭数作为DPU新型算力基础设施代表&#xff0c;受邀出席了中国智算中心创新论坛&#xff0c;发表了题为《以网络为中心的AI算力底座构建之路》主题演讲&#xff0c;勾勒出在通往AGI…

Xcode 15构建问题

构建时出现的异常&#xff1a; 解决方式&#xff1a; 将ENABLE_USER_SCRIPT_SANDBOXING设为“no”即可&#xff01;

GateWay具体的使用!!!

一、全局Token过滤器 在Spring Cloud Gateway中&#xff0c;实现全局过滤器的目的是对所有进入系统的请求或响应进行统一处理&#xff0c;比如添加日志、鉴权等。下面是如何创建一个全局过滤器的基本步骤&#xff1a; 步骤1: 创建过滤器类 首先&#xff0c;你需要创建一个实现…

表---商场 nine

CREATE TABLE gao25 (id int(11) NOT NULL AUTO_INCREMENT COMMENT 自增ID,shopId int(11) NOT NULL COMMENT 店铺ID,goodsId int(11) NOT NULL COMMENT 商品ID,attrId int(11) NOT NULL COMMENT 属性名称,attrVal text NOT NULL COMMENT 属性值,createTime datetime NOT NULL …

实验 1--SQL Server2008数据库开发环境

文章目录 实验 1--SQL Server2008数据库开发环境2.4.1 实验目的2.4.2 实验准备2.4.3 实验内容1.利用 SSMS 访问系统自带的Report Server 数据库。2.熟悉了解 SMSS对象资源管理器树形菜单相关选择项的功能。(1)右键单击数据库Report Server&#xff0c;查看并使用相关功能;(2)选…