html5 + css3(下)

目录

  • CSS基础
    • 基础认识
      • 体验css
      • CSS引入方式
    • 基础选择器
      • 选择器-标签
      • 选择器-类
      • 选择器-id
      • 选择器-通配符
    • 字体和文本样式
      • 1.1 字体大小
      • 1.2 字体粗细
      • 1.3 字体样式(是否倾斜)
      • 1.4 常见字体系列(了解)
      • 1.5 字体系列
      • 拓展-层叠性
      • font复合属性
      • 文本缩进
      • 水平对齐方式
      • 文本修饰线
      • 行高
    • Chrome调试工具
    • 拓展
      • 拓展-颜色取值
      • 拓展-标签居中
    • 综合案例1-新闻
    • 综合案例2-产品
  • CSS进阶
    • 选择器进阶
      • 选择器-后代
      • 选择器-子代
      • 选择器-并集
      • 选择器-交集
      • 选择器-伪类
      • emmet语法
    • 背景相关属性
      • 背景-背景色
      • 背景-背景图
      • 背景-背景平铺
      • 背景-背景位置
      • 背景-background
      • 背景图和img的区别
    • 元素显示模式
      • 显示模式-块
      • 显示模式-行内
      • 显示模式-行内块
      • 显示模式-转换
    • 拓展-标签嵌套
      • 拓展1:HTML嵌套规范注意点
      • 拓展2:居中方法总结
    • CSS特性
      • CSS特性-继承性
      • CSS特性-层叠性
    • 综合案例1
    • 综合案例2

CSS基础

基础认识

体验css

CSS:层叠样式表

CSS引入方式

内嵌式:CSS写在style标签中

提示:style标签虽然可以写在页面任意位置,但是通常约定写在head标签中

外联式:CSS写在一个单独的.css文件中

提示:需要通过link标签在网站中引入

 <link rel="stylesheet" href="./my.css">

行内式:CSS写在标签的style属性中

提示:之后会配合js使用

<p style="color: red;">这是p标签</p>
引入方式书写位置作用范围使用场景
内嵌式CSS写在style标签中当前页面小案例
外联式CSS写在一个单独的.css文件中多个页面项目中
行内式CSS写在标签的style属性中当前标签配合js使用

基础选择器

选择器-标签

1.标签选择器

结构:标签名{css属性名:属性值;}

作用:通过标签名,找到页面中所有这类标签,设置样式

<style>p {color: red;}
</style>

⭕️标签选择器选择的是一类标签,而不是单独某一个

⭕️标签选择器无论嵌套关系多深,都能找到对应的标签

选择器-类

2.类选择器

结构:.类名{css属性名:属性值;}

作用:通过类名,找到页面中所有带有这个类名的标签,设置样式

<head><style>.red {color: red;}.size {font-size: 66px;}</style>
</head><body><!-- 一个标签可以使用多个类名,需要空格隔开即可 --><p class="red size">111</p><p>222</p>
</body>

在这里插入图片描述

⭕️所有标签上都有class属性,class属性的属性值称为类名(类似于名字)

⭕️类名可以由数字、字母、下划线、中划线组成,但不能以数字或者中划线开头

⭕️一个标签可以同时有多个类名,类名之间以空格隔开

⭕️类名可以重复,一个类选择题可以同时选中多个标签

选择器-id

3.id选择器

结构:id属性值{css属性名:属性值;}

作用:通过id属性值,找到页面中带有这个id属性值的标签

<head><style>#one {color: blue;}</style>
</head><body><div id="one">这个div文字是蓝色的</div>
</body>

⭕️所有标签上都有id属性

⭕️id属性值类似于身份证号码,在一个页面中是唯一的,不可重复!

⭕️一个标签上只能有一个id属性值

⭕️一个id选择器只能选中一个标签

选择器-通配符

结构:* {css属性名:属性值;}

作用:找到页面中所有的标签,设置样式

<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>* {color: blue;}</style>
</head><body><p>p</p><h1>h1</h1><div>div</div><span>span</span>
</body>

在这里插入图片描述

⭕️开发中用的极少,只有在特殊情况才会用到

⭕️一般用于去除标签默认的margin和padding

字体和文本样式

1.1 字体大小

属性名:font-size

取值:数字 + px

 p {font-size: 30px;}

⭕️谷歌浏览器默认文字大小是16px

⭕️单位需要设置,否则无效

1.2 字体粗细

属性名:font-weight

div {font-weight: 700;
}

取值:

  • 关键字:

    正常:normal

    加粗:bold

  • 纯数字:100~900的整百数

    正常:400

    加粗:700

⭕️不是所有字体都提供了九种粗细,因此部分取值页面中无变化

⭕️实际开发中以:正常、加粗两种取值使用最多

1.3 字体样式(是否倾斜)

属性名:font-style

取值:

​ 正常(默认值):normal

​ 倾斜:italic

<head><style>div {font-style: italic;}em {font-style: normal;}</style>
</head><body><div>div文字</div><em>em</em>
</body>

在这里插入图片描述

1.4 常见字体系列(了解)

在这里插入图片描述

1.5 字体系列

属性名:font-family

常见取值:具体字体1,具体字体2,具体字体3,具体字体4.…,字体系列
具体字体:"Microsoft YaHei”、微软雅黑、黑体、宋体、楷体等…
字体系列:sans-serif、serif、monospace等…

渲染规则:
1.从左往右按照顺序查找,如果电脑中未安装该字体,则显示下一个字体

2.如果都不支持,此时会根据操作系统,显示最后字体系列的默认字体

⭕️如果字体名称中存在多个单词,推荐使用引号包裹

⭕️最后一项字体系列不需要引号包裹

⭕️网页开发时,尽量使用系统常见自带字体,保证不同用户浏览网页都可以正确显示

拓展-层叠性

1.6 样式的层叠问题

结果:如果给同一个标签设置了相同的属性,此时样式会层叠(覆盖),写在最下面的会生效。

  <!-- 层叠性:后面的覆盖前面的属性 -->
<style>p {color: red;color: blue;}</style>

font复合属性


1.7 字体font相关属性的连写

属性名:font(复合属性)

取值:font:style weight size family

省略要求:只能省略前面两个,如果省略了相当于设置了默认值

<head><style>p {/* font-size: ;font-style: ;font-weight: ;font-family: ; *//* font:style weight size 字体 */font: italic 700 66px 宋体;}</style>
</head><body><p>这是p标签</p>
</body>

在这里插入图片描述

🐱复合属性:一个属性后面书写多个值的写法

⭕️要么把单独的样式写在连写的下面

⭕️要么把单独的样式写在连写的里面

<head><style>p {/* font-size: ;font-style: ;font-weight: ;font-family: ; *//* font:style weight size 字体 */font: italic 700 66px 宋体;font-style:normal;}</style>
</head>

文本缩进

2.1 文本缩进

属性名:text-indent

取值:

  • 数字 + px
  • 数字 + em(推荐:1em = 当前标签的font-size的大小)
<head><style>p {/* em:一个字的大小 */text-indent: 2em;font-size: 40px;}</style>
</head>
<body><p>2019年,事件视界望远镜团队让世界首次看到了黑洞的样子。不过,研究人员公布的这张发光环形物体的图像并不是传统的图片,而是经过计算获得的。利用位于美国、墨西哥、智利、西班牙和南极地区的射电望远镜所得到的数据,研究人员进行了数学转换,最终合成了这张标志性的图片。研究团队还发布了实现这一壮举所用的编程代码,并撰文记录这一发现,其他研究者也可以在此基础上进一步加以分析。</p>
</body>

在这里插入图片描述

水平对齐方式

属性名:text-align

取值:

属性值效果
left左对齐
center居中对齐
right右对齐
<head><style>h1 {text-align: center;}body {text-align: center;}</style>
</head><body><h1>新闻标题</h1><img src="./1.jpg" height="300">
</body>

在这里插入图片描述

text-align:center能让哪些元素水平居中?

1.文本

2.span标签、a标签

3.input标签、img标签

⭕️如果需要让文本水平居中,text-align属性给文本所在标签(文本的父元素)设置

文本修饰线

2.3 文本修饰

属性名:text-decoration

取值:

属性值效果
underline下划线(常用)
line-through删除线(不常用)
overline上划线(几乎不用)
none无装饰线(常用)

⭕️开发中会使用text-decoration:none;清除a标签默认的下划线

行高

3.1 行高

作用:控制一行的上下行间距

在这里插入图片描述

属性名:line-height

取值:

  • 数字 + px
  • 倍数(当前标签font-size的倍数)

应用:

1.让单行文本垂直居中可以设置line-height:文字父元素高度

2.网页精准布局时,会设置line-height: 1,可以取消上下间距

<head><style>p {/* line-height:50px *//* 自己字号的1.5倍 */line-height: 1.5;/* 倾斜 加粗 66px 2倍行高 宋体 *//* font: italic 700 66px/2 宋体; */}</style>
</head><body><p>2019年,事件视界望远镜团队让世界首次看到了黑洞的样子。不过,研究人员公布的这张发光环形物体的图像并不是传统的图片,而是经过计算获得的。利用位于美国、墨西哥、智利、西班牙和南极地区的射电望远镜所得到的数据,研究人员进行了数学转换,最终合成了这张标志性的图片。研究团队还发布了实现这一壮举所用的编程代码,并撰文记录这一发现,其他研究者也可以在此基础上进一步加以分析</p>
</body>

在这里插入图片描述

⭕️行高与font连写的注意点:

  • 如果同时设置了行高和font连写,注意覆盖问题
  • font:style weight size/line-height family;

Chrome调试工具

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

拓展

拓展-颜色取值

拓展 颜色常见取值(了解)

属性名:

  • 如:文字颜色:color
  • 如:背景颜色:background-color

属性值:

颜色表示方式表示含义属性值
关键词预定义的颜色名red、green、 blue、yellow…
rgb表示法红绿蓝三原色。每项取值范围:0~255rgb(0,0,0)、rgb(255,255,255)、rgb(255,0,0)…
rgba表示法红绿蓝三原色+a表示透明度,取值范围是0~1rgba(255,255,255,0.5)、rgba(255,0,0,0.3)…
十六进制表示法#开头,将数字转换成十六进制表示#000000、#ff0000、#e92322,简写:#000、#f00

拓展-标签居中

标签水平居中方法总结 margin : 0 auto

如果需要让div、p、h(大盒子)水平居中?

• 可以通过margin : 0 auto ; 实现

<head><style>div {width: 300px;height: 300px;background-color: pink;margin: 0 auto;}</style>
</head><body><div></div>
</body>

在这里插入图片描述

⭕️如果需要让 div、p、h(大盒子) 水平居中,直接给 当前元素本身 设置即可

⭕️margin:0 auto 一般针对于固定宽度的盒子,如果大盒子没有设置宽度,此时会默认占满父元素的宽度

综合案例1-新闻

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 800px;height: 660px;/* background-color: pink; */margin: 0 auto;}/* h1 {text-align: center;} *//* p{text-align: center;} 后面还有其他的段落,其他段落不居中*//* 类选择器设置段落居中 */.center {text-align: center;}.color1 {color: #808080}.color2 {color: #87ceeb;}a {text-decoration: none;}.suojin {text-indent: 2em;}</style>
</head><body><div><h1 class="center">《自然》评选改变科学的10个计算机代码项目</h1><p class="center"><span class="color1">2077年01月28日14:58</span><span class="color2">新浪科技</span><a href="#"">收藏本文</a></p><hr><p class="suojin">2019年,事件视界望远镜团队让世界首次看到了黑洞的样子。不过,研究人员公布的这张发光环形物体的图像并不是传统的图片,而是经过计算获得的。利用位于美国、墨西哥、智利、西班牙和南极地区的射电望远镜所得到的数据,研究人员进行了数学转换,最终合成了这张标志性的图片。研究团队还发布了实现这一壮举所用的编程代码,并撰文记录这一发现,其他研究者也可以在此基础上进一步加以分析</p><p class="suojin">这种模式正变得越来越普遍。从天文学到动物学,在现代每一项重大科学发现的背后,都有计算机的参与。美国斯坦福大学的计算生物学家迈克尔·莱维特因“为复杂化学系统创造了多尺度模型”与另两位研究者分享了2013年诺贝尔化学奖,他指出,今天的笔记本电脑内存和时钟速度是他在1967年开始获奖工作时实验室制造的计算机的1万倍。“我们今天确实拥有相当可观的计算能力,”他说,“问题在于,我们仍然需要思考。”</p><p class="suojin">如果没有能够解决研究问题的软件,以及知道如何编写并使用软件的研究人员,一台计算机无论再强大,也是毫无用处的。如今的科学研究从根本上已经与计算机软件联系在一起,后者已经渗透到研究工作的各个方面。近日,《自然》(Nature)杂志将目光投向了幕后,着眼于过去几十年来改变科学研究的关键计算机代码,并列出了其中10个关键的计算机项目。</p><p class="suojin">最初的现代计算机并不容易操作。当时的编程实际上是手工将电线连接成一排排电路来实现的。后来出现了机器语言和汇编语言,允许用户用代码为计算机编程,但这两种语言都需要对计算机的架构有深入的了解,使得许多科学家难以掌握。20世纪50年代,随着符号语言的发展,特别是由约翰·巴克斯及其团队在加州圣何塞的IBM开发的“公式翻译”语言Fortran,这种情况发生了变化。利用Fortran,用户可以用人类可读的指令来编程,例如x= 3 + 5。然后由编译器将这些指令转换成快速、高效的机器代码。</p></div>
</body></html>

在这里插入图片描述

综合案例2-产品

2.小米官网卡片案例-效果图

要求:在这里插入图片描述

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>body {background-color: #f5f5f5;}.goods {width: 234px;height: 300px;background-color: #fff;/* 大标签div居中 */margin: 0 auto;/* 内容居中 */text-align: center;}img {width: 160px;text-align: center;}.title {font-size: 14px;line-height: 25px;}.info {font-size: 12px;line-height: 30px;color: #ccc;}.money {font-size: 14px;color: #ffa500;}</style>
</head><body><!-- div用来网页布局,一个页面可能用无数次,原则:如果使用div,尽量使用类名控制样式 --><div class="goods"><img src="./car.jpg"><div class="title">九号平衡车</div><div class="info">成年人的玩具</div><div class="money">1999元</div></div>
</body></html>

在这里插入图片描述

CSS进阶

选择器进阶

选择器-后代

1.1 后代选择器:空格

作用:根据 HTML 标签的嵌套关系,选择父元素后代中满足条件的元素

选择器语法:选择器1 选择器2 { css }

结果:在选择器1所找到标签的后代(儿子、孙子、重孙子…)中,找到满足选择器2的标签,设置样式。

<head><style>div p {color: red;}</style>
</head><body><p>这是p标签</p><div><p>这是div的儿子p</p></div>
</body>

在这里插入图片描述

⭕️后代包括:儿子、孙子、重孙子……

⭕️后代选择器中,选择器与选择器之前通过空格隔开

选择器-子代

1.2 子代选择器 >

作用:根据 HTML 标签的嵌套关系,选择父元素 子代中 满足条件的元素

选择器语法:选择器1 > 选择器2 { css }

结果:在选择器1所找到标签的子代(儿子)中,找到满足选择器2的标签,设置样式

<head><style>div>a {color: red;}</style>
</head><body><div>父级<a href="#">这是div里面的a</a><p><a href="#">这是div里面的p里面的a</a></p></div>
</body>

在这里插入图片描述

⭕️子代只包括:儿子

⭕️子代选择器中,选择器与选择器之前通过 > 隔开

选择器-并集

2.1 并集选择器:,

作用:同时选择多组标签,设置相同的样式

选择器语法:选择器1 , 选择器2 { css }

结果:找到 选择器1 和 选择器2 选中的标签,设置样式

<head><style>p,div,span,h1 {color: red;}</style>
</head><body><p>ppp</p><div>div</div><span>span</span><h1>h1</h1><h2>h2</h2>
</body>

在这里插入图片描述

⭕️并集选择器中的每组选择器之间通过 , 分隔

⭕️并集选择器中的每组选择器可以是基础选择器或者复合选择器

⭕️并集选择器中的每组选择器通常一行写一个,提高代码的可读性

选择器-交集

3.1 交集选择器:紧挨着

作用:选中页面中 同时满足 多个选择器的标签

选择器语法:选择器1选择器2 { css }

结果:(既又原则)找到页面中 能被选择器1选中, 能被选择器2选中的标签,设置样式

<head><style>/* 必须是p标签,而且添加了box类 */p.box {color: red;}</style>
</head><body><p class="box">这是p标签:box</p><p>ppppppp</p><div class="box">这是div标签:box</div>
</body>

在这里插入图片描述

⭕️交集选择器中的选择器之间是紧挨着的,没有东西分隔

⭕️交集选择器中如果有标签选择器,标签选择器必须写在最前面

选择器-伪类

4.1 hover伪类选择器

作用:选中鼠标悬停在元素上的状态,设置样式

选择器语法:选择器**:hover** { css }

<head><style>a:hover {color: red;background-color: rgb(224, 224, 233);}</style>
</head><body><a href="#">这是超链接</a>
</body>

在这里插入图片描述

⭕️伪类选择器选中的元素的某种状态

emmet语法

5.1 emmet语法

作用:通过简写语法,快速生成代码

语法:类似于刚刚学习的选择器的写法

记忆示例效果
标签名div
类选择器.red
id选择器#one
交集选择器p.red#one

子代选择器ul>li
内部文本ul>li{我是li的内容}
  • 我是li的内容
创建多个ul>li*3
<head><style>div{/* 提示css属性,单词的首字母 *//* fsz */font-size: ;/* fw700 */font-weight: 700;/* w */width: ;/* h */height: ;/* bgc */background-color: #fff;/* lh */line-height: ;/* 宽度300,高度200,背景色是粉色 *//* w300+h200+bgc */width: 300px;height: 200px;background-color: #fff;} </style>
</head><body><div></div><div class="red"></div><div id="one"></div><p class="red" id="one"></p><ul><li></li></ul><ul><li>我是li的内容</li></ul><ul><li></li><li></li><li></li></ul><!-- div同级p:div+p --><div></div><p></p><!-- 父子:div>p --><div><p></p></div></body>

背景相关属性

背景-背景色

1.1 背景颜色

属性名:background-color(bgc)

属性值:颜色取值:关键字、rgb表示法、rgba表示法、十六进制……

<head><style>div {width: 400px;height: 400px;/* background-color: pink; *//* background-color: #ccc; *//* background-color: rgba(0, 0, 0, 0.5); */background-color: rgba(0, 0, 0, .5);}</style>
</head><body><div>div</div>
</body>

在这里插入图片描述

⭕️背景颜色默认值是透明: rgba(0,0,0,0) 、transparent

⭕️背景颜色不会影响盒子大小,并且还能看清盒子的大小和位置,一般在布局中会习惯先给盒子设置背景颜色

背景-背景图

2.1 背景图片

属性名:background-image(bgi)

属性值:background-image: url("图片的路径");

<head><style>div {width: 400px;height: 400px;background-color: pink;background-image: 			url(./images/1.jpg);}</style>
</head><body><div>文字</div>
</body>

⭕️背景图片中url中可以省略引号

⭕️背景图片默认是在水平和垂直方向平铺的

⭕️背景图片仅仅是指给盒子起到装饰效果,类似于背景颜色,是不能撑开盒子的

背景-背景平铺

属性名:background-repeat(bgr)

属性值:

取值效果
repeat(默认值)水平和垂直方向都平铺
no-repeat不平铺
repeat-x沿着水平方向(x轴)平铺
repeat-y沿着垂直方向(y轴)平铺
<head><style>div {width: 400px;height: 400px;background-color: pink;background-image: url(./images/1.jpg);background-repeat: no-repeat;}</style>
</head><body><div></div>
</body>

在这里插入图片描述

背景-背景位置

4.1 背景位置

属性名:background-position(bgp)

属性值:background-position: 水平方向位置 垂直方向位置;

<head><style>div {width: 400px;height: 400px;background-color: pink;background-image: url(./images/1.jpg);background-repeat: no-repeat;/* background-position: center center; */background-position: 50px 100px;/* 正数:向右向下移动;负数:向左向上移动 *//* 注意:背景色和背景图只显示在盒子里面 */}</style>
</head><body><div></div>
</body>

在这里插入图片描述

⭕️方位名词取值和坐标取值可以混使用,第一个取值表示水平,第二个取值表示垂直

背景-background

5.1 背景相关属性的连写形式

属性名:background(bg)

属性值:单个属性值的合写,取值之间以空格隔开

书写顺序:推荐:background:color image repeat position

省略问题:

  • 可以按照需求省略
  • 特殊情况:在pc端,如果盒子大小和背景图片大小一样,此时可以直接写 background:url()
<head><style>div {width: 400px;height: 400px;background: pink url(./images/1.jpg) no-repeat center bottom;/* 背景图位置如果是英文单词可以颠倒顺序 *//* 背景图位置如果是数值,不能颠倒顺序 */}</style>
</head><body><div></div>
</body>

在这里插入图片描述

⭕️如果需要设置单独的样式和连写:

① 要么把单独的样式写在连写的下面

② 要么把单独的样式写在连写的里面

背景图和img的区别

6.1 (拓展)img标签和背景图片的区别

需求:需要在网页中展示一张图片的效果?

方法一:直接写上img标签即可

img标签是一个标签,不设置宽高默认会以原尺寸显示

方法二:div标签 + 背景图片

需要设置div的宽高,因为背景图片只是装饰的CSS样式,不能撑开div标签

元素显示模式

显示模式-块

1.1 块级元素

显示特点:

  1. 独占一行(一行只能显示一个)

  2. 宽度默认是父元素的宽度,高度默认由内容撑开

  3. 可以设置宽高

    <head><style>div {width: 300px;height: 300px;background-color: pink;}</style>
    </head><body><div>11111</div><div>22222</div>
    </body>
    

    在这里插入图片描述

🍑代表标签:

div、p、h系列、ul、li、dl、dt、dd、form、header、nav、footer……

显示模式-行内

2.1 行内元素

显示特点:

  1. 一行可以显示多个
  2. 宽度和高度默认由内容撑开
  3. 不可以设置宽高
<head><style>/* 设置宽高不生效;尺寸和内容的大小相同 */span {width: 400px;height: 200px;background-color: pink;}</style>
</head><body><span>span</span><span>span</span>
</body>

在这里插入图片描述

🍑代表标签:

a、span 、b、u、i、s、strong、ins、em、del……

显示模式-行内块

3.1 行内块元素

显示特点:

  1. 一行可以显示多个
  2. 可以设置宽高
<head>img {width: 100px;height: 100px;}</style>
</head><body><img src="./images/1.jpg" alt=""><img src="./images/1.jpg" alt="">
</body>

在这里插入图片描述

🍑代表标签:

**input、textarea、**button、select……

⭕️特殊情况:img标签有行内块元素特点,但是Chrome调试工具中显示结果是inline

显示模式-转换

4.1 元素显示模式转换

目的:改变元素默认的显示特点,让元素符合布局要求

语法:

属性效果使用频率
display:block转换成块级元素较多
display:inline-block转换成行内块级元素较多
display:inline转换成行内级元素极少
<head><style>div {width: 300px;height: 300px;background-color: pink;/* 行内块 */display: inline-block;}</style>
</head><body><div>11111</div><div>22222</div>
</body>

在这里插入图片描述

拓展-标签嵌套

拓展1:HTML嵌套规范注意点

  1. 块级元素一般作为大容器,可以嵌套:文本、块级元素、行内元素、行内块元素等等……

⭕️**但是:**p标签中不要嵌套div、p、h等块级元素

  1. a标签内部可以嵌套任意元素

⭕️**但是:**a标签不能嵌套a标签

拓展2:居中方法总结

在这里插入图片描述

CSS特性

CSS特性-继承性

1.1 继承性的介绍

特性:子元素有默认继承父元素样式的特点(子承父业)

🍑可以继承的常见属性(文字控制属性都可以继承):

  1. color
  2. font-style、font-weight、font-size、font-family
  3. text-indent、text-align
  4. line-height
  5. ……
<head><style>/* 控制文字的都能继承,不是控制文字的都不能继承 */div {color: red;font-size: 30px;height: 300px;}</style>
</head><body><div>这是div标签里的文字<span>这是div里面的span</span></div>
</body>

在这里插入图片描述

在这里插入图片描述

(span标签没有继承height属性)

⭕️可以通过调试工具判断样式是否可以继承

(拓展)继承的应用

好处:可以在一定程度上减少代码

常见应用场景:

  1. 可以直接给ul设置 list-style:none 属性,从而去除列表默认的小圆点样式
  2. 直接给body标签设置统一的font-size,从而统一不同浏览器默认文字大小

(拓展)继承失效的特殊情况

如果元素有浏览器默认样式,此时继承性依然存在,但是优先显示浏览器的默认样式

  1. a标签的color会继承失效

其实color属性继承下来了,但是被浏览器默认设置的样式给覆盖掉了

  1. h系列标签的font-size会继承失效

其实font-size属性继承下来了,但是被浏览器默认设置的样式给覆盖掉了

<head><style>div {color: red;font-size: 12px;}</style>
</head><body><div><a href="#">超链接</a><h1>一级标题</h1></div>
</body>

在这里插入图片描述

(a没有继承color,h1没有继承font-size)

CSS特性-层叠性

2.1 层叠性的介绍

特性:

  1. 给同一个标签设置不同的样式 → 此时样式会层叠叠加 → 会共同作用在标签上
  2. 给同一个标签设置相同的样式 → 此时样式会层叠覆盖 → 最终写在最后的样式会生效
<head><style>div {color: red;color: green;}</style>
</head><body><div>文字</div>
</body>

在这里插入图片描述

⭕️当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果

综合案例1

1、普通导航

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* a显示模式是行内,加宽高默认不生效,转显示模式:行内块 */a {text-decoration: none;width: 100px;height: 50px;background-color: red;display: inline-block;color: white;text-align: center;line-height: 50px;}a:hover {background-color: orange;}</style>
</head><body><!-- a{导航$}*5 --><a href="#">导航1</a><a href="#">导航2</a><a href="#">导航3</a><a href="#">导航4</a><a href="#">导航5</a></body></html>

在这里插入图片描述

🐱tips:

alt + shift + 鼠标左键单击:连续选中多个地方

在这里插入图片描述

综合案例2

2、五彩导航

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>/* a显示模式是行内,加宽高默认不生效,转显示模式:行内块 */a {text-decoration: none;width: 120px;height: 58px;display: inline-block;color: white;text-align: center;line-height: 50px;}.bg1 {background-image: url(./images/bg8.png);}.bg2 {background-image: url(./images/bg7.png);}.bg3 {background-image: url(./images/bg6.png);}.bg4 {background-image: url(./images/bg5.png);}.bg5 {background-image: url(./images/bg4.png);}.bg6 {background-image: url(./images/bg3.png);}.bg7 {background-image: url(./images/bg2.png);}.bg8 {background-image: url(./images/bg1.png);}.bg1:hover {background-image: url(./images/bg1.png);}.bg2:hover {background-image: url(./images/bg2.png);}.bg3:hover {background-image: url(./images/bg3.png);}.bg4:hover {background-image: url(./images/bg4.png);}.bg5:hover {background-image: url(./images/bg5.png);}.bg6:hover {background-image: url(./images/bg6.png);}.bg7:hover {background-image: url(./images/bg7.png);}.bg8:hover {background-image: url(./images/bg8.png);}</style>
</head><body><!-- a{导航$}*5 --><a href="#" class="bg1">导航1</a><a href="#" class="bg2">导航2</a><a href="#" class="bg3">导航3</a><a href="#" class="bg4">导航4</a><a href="#" class="bg5">导航5</a><a href="#" class="bg6">导航6</a><a href="#" class="bg7">导航7</a><a href="#" class="bg8">导航8</a></body></html>

在这里插入图片描述

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

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

相关文章

oh-crop: OpenHarmony/HarmonyOS上的简单的图片剪裁库,可用于头像剪裁等常见场景。

&#x1f4da; 简介 oh-crop: OpenHarmony/HarmonyOS上的简单的图片剪裁库&#xff0c;可用于头像剪裁等常见场景。 代码仓库&#xff1a;oh-crop &#x1f4da; 下载安装 ohpm i xinyansoft/oh-cropOpenHarmony ohpm 环境配置等更多内容&#xff0c;请参考: 下载安装三方库…

一个值得关注的3D生成新算法:速度和图像生成平齐,能生成合理的展开贴图和高质量mesh

今天跟大家介绍的GIMDiffusion是一种新的Text-to-3D模型&#xff0c;利用几何图像&#xff08;Geometry Images&#xff09;来高效地表示3D形状&#xff0c;避免了复杂的3D架构。通过结合现有的Text-to-Image模型如Stable Diffusion的2D先验知识&#xff0c;GIMDiffusion能够在…

【数据结构】【链表代码】相交链表

/*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/typedef struct ListNode ListNode; struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) {//先求出两个链表的长度ListNode…

Unity 编辑器多开

开发多人联机的功能时大多数会遇到测试机不方便的问题。想多开同一个项目Uinty又禁止。。。因为在使用Unity Editor打开一个项目时&#xff0c;Unity Editor会在项目目录建立一个Temp目录&#xff0c;同时对里面的一个UnityLockfile文件进行加锁。SO...可以使用以下方法进行多开…

【easypoi 一对多导入解决方案】

easypoi 一对多导入解决方案 1.需求2.复现问题2.1校验时获取不到一对多中多的完整数据2.2控制台报错 Cannot add merged region B5:B7 to sheet because it overlaps with an existing merged region (B3:B5). 3.如何解决第二个问题处理&#xff1a; Cannot add merged region …

ISO IEC 18004 2015 PDF 文字版下载

ISO_IEC_18004_2015_en-US - 道客巴巴 (doc88.com)https://www.doc88.com/p-67816330893254.html

Kafka和RabbitMQ区别

RabbitMQ的消息延迟是微秒级&#xff0c;Kafka是毫秒级&#xff08;1毫秒1000微秒&#xff09; 延迟消息是指生产者发送消息发送消息后&#xff0c;不能立刻被消费者消费&#xff0c;需要等待指定的时间后才可以被消费。 Kafka的单机呑吐量是十万级&#xff0c;RabbitMQ是万级…

vSAN02:容错、存储策略、文件服务、快照与备份、iSCSI

目录 vSAN容错条带化存储策略1. 创建新策略2. 应用存储策略 vSAN文件服务文件服务快照与备份 vSAN iSCSI目标服务 vSAN容错 FTT&#xff1a;Fault to Tolerance 允许故障数 故障域&#xff1a;每一台vSAN主机是一个故障域 - 假设3台超融合&#xff08;3计算1存储&#xff09;&…

【Kubernetes】常见面试题汇总(五十四)

目录 120.创建 init C 容器后&#xff0c;其状态不正常&#xff1f; 特别说明&#xff1a; 题目 1-68 属于【Kubernetes】的常规概念题&#xff0c;即 “ 汇总&#xff08;一&#xff09;~&#xff08;二十二&#xff09;” 。 题目 69-113 属于【Kubernetes】的生产…

【Spring Boot 入门一】构建你的第一个Spring Boot应用

一、引言 在当今的软件开发领域&#xff0c;Java一直占据着重要的地位。而Spring Boot作为Spring框架的延伸&#xff0c;为Java开发者提供了一种更加便捷、高效的开发方式。它简化了Spring应用的搭建和配置过程&#xff0c;让开发者能够专注于业务逻辑的实现。无论是构建小型的…

Windows搭建RTMP服务器

这里写自定义目录标题 1 Nginx-RTMP服务器搭建1.1 下载Nginx1.2 下载Nginx的RTMP扩展包1.3 配置Nginx1.4 启动Nginx1.5 查看Nginx状态 2 FFmpeg推流2.1 下载FFmpeg2.2 配置FFmpeg环境变量2.3 验证FFmpeg配置 3 视频推流3.1 OBS推流3.2 FFmpeg推流 4 VLC拉流4.1 VLC4.2 打开网络…

4款专业电脑数据恢复软件,帮你保障数据安全。

电脑里面会出现的数据丢失场景有很多&#xff0c;像硬盘故障、回收站清空、电脑格式化、系统崩溃、病毒入侵等等&#xff1b;如果发现数据丢失后&#xff0c;建议应停止使用电脑&#xff0c;避免新的数据写入覆盖丢失的数据。然后再尝试进行数据找回&#xff0c;如果想自己进行…

合肥企业参访:走进联想合肥智能制造基地参观学习

跟随华研标杆游学高丽华高老师去到联想参观游学 联想合肥智能制造基地成立于2011年&#xff0c;是联想集团全球蕞大的PC研发和制造基地&#xff0c;也是智能制造示范基地。基地占地约500亩&#xff0c;拥有全球PC制造业蕞大的单体厂房以及业界主板、整机生产线。在这里&#xf…

RTSP作为客户端 推流 拉流的过程分析

之前写过一个 rtsp server 作为服务端的简单demo 这次分析下 rtsp作为客户端 推流和拉流时候的过 A.作为客户端拉流 TCP方式 1.Client发送OPTIONS方法 Server回应告诉支持的方法 2.Client发送DESCRIPE方法 这里是从海康摄像机拉流并且设置了用户名密码 Server回复未认证 3.客…

数据结构-3.5.队列的顺序实现

一.队列的顺序实现&#xff0c;初始化操作以及判断队列是否为空&#xff1a; 1.图解&#xff1a; 2.代码&#xff1a; #include<stdio.h> #define MaxSize 10 //定义一个队列最多存储的元素个数 ​ typedef struct {int data[MaxSize]; //用静态数组存放队列元素int f…

使用Buildpacks构建Docker镜像

## 使用Buildpacks构建Docker镜像 ![](../assets/运维手册-Buildpacks-Buildpacks.io.png) ### Buildpacks简介 与Dockerfile相比&#xff0c;Buildpacks为构建应用程序提供了更高层次的抽象。具体来说&#xff0c;Buildpacks&#xff1a; * 提供一个平衡的控制&#xff0c;…

emp.dll丢失损坏怎么办,总结6个解决emp.dll丢失的方法

我们在用电脑的时候&#xff0c;经常会碰到各种各样的问题&#xff0c;其中一个就是emp.dll丢失或缺失。这个东东可是Windows操作系统中非常重要的一个动态链接库文件哦&#xff0c;它是负责管理一些重要系统功能的。假如这个文件丢了&#xff0c;很可能会导致程序无法正常运行…

小程序图片资源等使用阿里服务链接更新问题

同名更换图片&#xff0c;小程序无需发版本更新&#xff0c;存在图片缓存问题解决方法 修改Cache-Control参数即可

深度解析:Python蓝桥杯青少组精英赛道与高端题型概览

目录 一、蓝桥杯青少组简介二、赛项组别与年龄范围三、比赛内容与题型1. 基础知识范围2. 题型设置2.1 选择题2.2 编程题 3. 考试时长 四、奖项设置与激励措施五、总结 一、蓝桥杯青少组简介 蓝桥杯全国软件和信息技术专业人才大赛&#xff08;简称“蓝桥杯”&#xff09;是由工…

【Qt+Python项目构建】- 01-首次配置 Qt Creator 14.01 for Python

前言&#xff1a; 如何用QT实现Python的配置的交互界面。本文从0开始&#xff0c;进行实践的介绍。 在上一节里面&#xff0c;我们做了社区版本的配置&#xff1a; https://blog.csdn.net/yellow_hill/article/details/142597007?spm1001.2014.3001.5501 这一节&#xff0…