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.mzph.cn/pingmian/55472.shtml

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

相关文章

上传本地项目到GitHub远程仓库(极简洁操作版)

第一步&#xff1a;在GitHub创建一个空的仓库 第二步&#xff1a;将仓库克隆&#xff08;下载&#xff09;到本地 第三步&#xff1a;将你要上传的所有文件放到这个克隆的仓库文件夹中 第四步&#xff1a;通过git add .将待上传文件添加到暂存区 此时&#xff0c;可以通过git …

网络基础 【HTTPS】

&#x1f493;博主CSDN主页:麻辣韭菜&#x1f493;   ⏩专栏分类&#xff1a;Linux初窥门径⏪   &#x1f69a;代码仓库:Linux代码练习&#x1f69a; &#x1f4bb;操作环境&#xff1a; CentOS 7.6 华为云远程服务器 &#x1f339;关注我&#x1faf5;带你学习更多Linux知识…

科普篇--- 什么是硬件在环测试?

我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消耗你的人和事&#xff0c;多看一眼都是你的不…

千万不要运行!几个可以整蛊你朋友的Python程序!

Python 能做很多无聊&#xff0c;但有意思的事情&#xff0c;例如接下来的一些案例。以下程序&#xff0c;不要发代码&#xff0c;要不实现不了你整蛊的目的。 要打包成一个 exe 程序&#xff0c;发给朋友才有意思&#xff0c;使用 pip install pyinstaller。 打包命令如下&a…

Redission · 可重入锁(Reentrant Lock)

前言 Redisson是一个强大的分布式Java对象和服务库&#xff0c;专为简化在分布式环境中的Java开发而设计。通过Redisson&#xff0c;开发人员可以轻松地在分布式系统中共享数据、实现分布式锁、创建分布式对象&#xff0c;并处理各种分布式场景的挑战。 Redisson的设计灵感来…

【AI大模型】使用Embedding API

一、使用OpenAI API 目前GPT embedding mode有三种&#xff0c;性能如下所示&#xff1a; 模型每美元页数MTEB得分MIRACL得分text-embedding-3-large9,61554.964.6text-embedding-3-small62,50062.344.0text-embedding-ada-00212,50061.031.4 MTEB得分为embedding model分类…

快速上手C语言【上】(非常详细!!!)

目录 1. 基本数据类型 2. 变量 2.1 定义格式 和 命名规范 2.2 格式化输入和输出&#xff08;scanf 和 printf&#xff09; ​编辑 2.3 作用域和生命周期 3. 常量 4. 字符串转义字符注释 5. 操作符 5.1 双目操作符 5.1.1 算数操作符 5.1.2 移位操作符 5.1.3 位操作符…

【C/C++】错题记录(四)

题目一 一个函数可以有很多个返回值&#xff08;有很多个return语句&#xff09;&#xff0c;但是最终只能有一个return语句执行。 题目二 题目三 题目四 题目五 程序数据结构算法 题目六 题目七 题目八 题目九 D选项是语句……

Top4免费音频剪辑软件大比拼,2024年你选哪一款?

现在我们生活在一个数字化的时代&#xff0c;音频内容对我们来说很重要。不管是给自己拍的视频配背景音乐、整理开会时的录音&#xff0c;还是自己写歌&#xff0c;有个好用的音频剪辑软件都特别重要。今天&#xff0c;我要给大家介绍几款特别好用的音频剪辑软件免费的&#xf…

模型 SECI(知识的创造)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。知识创造的螺旋转化模型。 1 SECI的应用 1.1 Tech Innovations移动应用创新 Tech Innovations是一家软件开发公司&#xff0c;致力于开发创新的移动应用程序。为了提升团队的知识共享和创新能力&…

Unity3D 单例模式

Unity3D 泛型单例 单例模式 单例模式是一种创建型设计模式&#xff0c;能够保证一个类只有一个实例&#xff0c;提供访问实例的全局节点。 通常会把一些管理类设置成单例&#xff0c;例如 GameManager、UIManager 等&#xff0c;可以很方便地使用这些管理类单例&#xff0c;…

【Qt】Qt学习笔记(一):Qt界面初识

Qt 是一个跨平台应用程序和 UI 开发框架。使用 Qt 您只需一次性开发应用程序&#xff0c;无须重新编写源代码&#xff0c;便可跨不同桌面和嵌入式操作系统部署这些应用程序。Qt Creator是跨平台的Qt集成开发环境。 创建项目 Qt的一些界面&#xff0c;初学时一般选择Qt Widgets …

在线教育系统开发:SpringBoot框架的实战应用

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

Linux下静态库与动态库制作及分文件编程

Linux下静态库与动态库制作及分文件编程 文章目录 Linux下静态库与动态库制作及分文件编程1.分文件编程1.1优点1.2操作逻辑1.3示例 2.Linux库的概念3.静态库的制作与使用3.1优缺点3.2命名规则3.3制作步骤3.4开始享用 4.动态库的制作与使用4.1优缺点4.2动态库命名规则4.3制作步骤…

基于Vue的汽车维修配件综合管理系统设计与实现SpringBoot后端源码

目录 1. 系统背景 2. 系统目标 3. 功能模块 4. 技术选型 5. 关键技术点 6. 实现步骤 7. 项目意义 8. 后期展望 1. 系统背景 市场需求分析&#xff1a;随着汽车保有量的不断增加&#xff0c;汽车维修和保养的需求日益增长。车主对维修质量和配件质量的要求也越来越高。汽…

class 004 选择 冒泡 插入排序

我感觉这个真是没有什么好讲的, 这个是比较简单的, 感觉没有什么必要写一篇博客, 而且这个这么简单的排序问题肯定有人已经有写好的帖子了, 肯定写的比我好, 所以我推荐大家直接去看“左程云”老师的讲解就很好了, 一定是能看懂的, 要是用文字形式再写一遍, 反而有点画蛇添足了…

CANoe_TestModule截图功能TestReportAddWindowCapture

前言 TestReportAddWindowCapture方法作为CAPL脚本中的一个重要功能&#xff0c;其能够将指定窗口的屏幕截图添加到测试报告中&#xff0c;对于记录和验证界面状态具有重要意义。本文将全面解析TestReportAddWindowCapture方法的使用方法、参数解释、示例应用以及注意事项&…

中小企业做网站需要考虑哪些因素?

中小企业在建设网站时&#xff0c;需要考虑的因素有很多。以下是一些主要考虑因素的介绍&#xff1a; 明确建站目的&#xff1a;中小企业需要明确自己建立网站的目的。是为了展示企业形象、推广产品&#xff0c;还是提供客户服务&#xff1f;不同的目的将决定网站的设计和功能…

R语言的下载、安装及环境配置(RstudioVSCode)

0x01 R语言篇 一、软件介绍 R for Windows是一个免费的用于统计计算和统计制图的优秀工具&#xff0c;是R语言开发工具。它拥有数据存储和处理系统、数组运算工具&#xff08;其向量、矩阵运算方面功能尤其强大&#xff09;、完整连贯的统计分析工具、优秀的统计制图等功能。…

2.创建第一个MySQL存储过程(2/10)

引言 在现代数据库管理中&#xff0c;存储过程扮演着至关重要的角色。它们是一组为了执行特定任务而编写的SQL语句集合&#xff0c;这些语句被保存在数据库中&#xff0c;并且可以被多次调用执行。存储过程不仅可以提高数据库操作的效率&#xff0c;还能增强数据的安全性和一致…