从零开始学前端:CSS元素模式的转换和CSS三大特性 --- 今天你学习了吗?(CSS:Day12)
从零开始学前端:程序猿小白也可以完全掌握!—今天你学习了吗?(CSS)
复习:从零开始学前端:复习课程 — 今天你学习了吗?(CSS:Day11)
文章目录
- 从零开始学前端:程序猿小白也可以完全掌握!—今天你学习了吗?(CSS)
- 前言
- 第十二节课:CSS元素模式的转换和CSS三大特性和伪元素
- 一、CSS元素模式的转换
- 1.元素显示模式
- 2.块元素
- 3.行内元素
- 4.行内块元素
- 5.元素显示模式的转化
- 二、CSS三大特性
- 1. 层叠性
- 2.继承性
- 3.优先级
- 三、练习
前言
感觉太忙了,学习的时候有的基础以前了解过,就没那么认真,然后做题,练习,就疯狂打脸。。。
第十二节课:CSS元素模式的转换和CSS三大特性和伪元素
一、CSS元素模式的转换
1.元素显示模式
什么是元素的显示模式(分类)及其作用?
作用:
网页的标签非常多,在不同地方会用到不同类型的标签,了解他们的特点可以更好地布局我们的网页。
定义及分类:
定义:
元素显示模式就是元素(标签)以什么方式进行显示。
分类:
根据标签的类型一共可以分为三大类:
块元素
和行内元素
还有行内块元素
三种类型。
2.块元素
常见的块元素有<h1>
~<h6>
、<p>
、<div
>、<ul>
、<ol>
、<li>
等,其中<div>
标签是最典型的块元素。
块级元素的特点:
- 自己独占一行。
- 高度、宽度、外边距以及内边距都可以控制。
- 宽度默认是容器(父级宽度)的100%。
注意:
- 文字类的元素内不能使用块级元素
<p>
标签主要用于存放文字,因此<p>
里面不能放块级元素,特别是不能放<div>
- 同理,
<h1>~<h6>
等都是文字类块级标签,里面也不能放其他块级元素。
3.行内元素
常见的行内元素有<a>
、<strong>
、<b>
、<em>
、<i>
、<del>
、<s>
、<ins>
、<span>
等。
其中<span>
标签是最典型的行内元素。有的地方也将行内元素称为内联元素。
行内元素的特点:
- 相邻行内元素在一行上,一行可以显示多个。
- 高、宽直接设置是无效的。
- 默认宽度就是它本身内容的宽度。
- 行内元素只能容纳文本或其他行内元素。
注意:
- 链接里面不能再放链接。
- 特殊情况链接
<a>
里面可以放块级元素,但是给<a>
转换一下块级模式最安全。
4.行内块元素
在行内元素中有几个特殊的标签------<img/>
、<input/>
、<td>
,他们同时具有会计与射弩和行内元素的特点。我们称他们为行内块元素。
行内块元素的特点:
- 和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)。
- 默认宽度就是它本身内容的宽度(行内元素特点)。
- 高度、行高、外边距以及内边距都可以控制(块级元素特点)
实例:
<body><div><h2>《块级元素》</h2><div><h1>h1</h1><p>p</p><div>div</div><ul><li>ul-li</li></ul><ol><li>ol-li</li></ol></div></div><hr><div><h2>《行内元素》</h2><div><a href="">a</a><strong>strong</strong><b>b</b><em>em</em><i>i</i><del>del</del><s>s</s><ins>ins</ins><span>span</span></div></div><hr><div><h2>《行内块元素》</h2><div><img src="../../../img素材/回眸.jpg" alt="" style="width: 100px;"><input type="text" placeholder="input"><td>td:table的标准单元</td></div></div>
</body>
效果图:
5.元素显示模式的转化
在特殊情况下,我们需要元素模式的转换,简单理解一个模式的元素需要另一种模式的特性,比如当我们想要增加<a>
链接的触动范围。那么这个是时候就需要元素显示模式转换了。
- 转换为块元素:display:block;(*)
- 转换为行内元素:display:inline;
- 转换为行内块元素:display:inline-block;(*)
实例:
<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>CSS元素模式的转换和CSS三大特性和伪元素</title>
</head>
<body><div><h2>《块级元素--->行内元素》</h2><div><h1 style="display: inline;">h1</h1><p style="display: inline;">p</p><div style="display: inline;">div</div><ul style="display: inline;"><li style="display: inline;">ul-li</li></ul><ol style="display: inline;"><li style="display: inline;">ol-li</li></ol></div></div><hr><div><h2>《行内元素--->块级元素》</h2><div><a href="" style="display: block;">a</a><strong style="display: block;">strong</strong><b style="display: block;">b</b><em style="display: block;">em</em><i style="display: block;">i</i><del style="display: block;">del</del><s style="display: block;">s</s><ins style="display: block;">ins</ins><span style="display: block;">span</span></div></div><hr><div><h2>《行内块元素--->块级元素》</h2><div><img src="../../../img素材/回眸.jpg" alt="" style="display: block;height: 100px;"><br><input type="text" placeholder="input" style="display: block;"><table><tr><td style="display: block;">td:table的标准单元</td></tr></table></div></div>
</body>
效果图:
转换完之后最明显的效果就是是否只能在一行显示。
二、CSS三大特性
CSS三大特性:层叠性
、继承性
、优先级
1. 层叠性
相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式,层叠性主要解决样式冲突问题。
层叠性原则:
- 样式冲突,遵循的原则是就近原则,那个样式离结构近,就执行哪个样式
- 不冲突,不会层叠
- 长江后浪推前浪,后面的样式会覆盖前面的样式
例子:
html文件:
<!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>CSS元素模式的转换和CSS三大特性和伪元素</title><style>div{background-color: rgb(49, 207, 207);color: rgb(166, 240, 240);}div{background-color: rgb(180, 63, 184);color: rgb(199, 231, 58);}</style>
</head>
<body><div class="menu"><div>第一行</div><div>第二行</div><div>第三行</div></div>
</body>
</html>
效果图:
2.继承性
现实中的继承:我们继承了父亲的姓
CSS中的继承:子标签会继承父标签的某些样式,如文本颜色和字号。简单的理解就是子承父业。
- 恰当地使用继承可以简化代码,降低CSS样式的复杂性
- 子元素可以继承父元素的样式(text-、font-、line-这些元素开头的可以继承,以及color属性)
例子:
html文件:
<!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>CSS元素模式的转换和CSS三大特性和伪元素</title><style>.father{background-color: rgb(49, 207, 207);color: rgb(49, 124, 62);font-size: 24px;line-height: 40px;text-decoration: underline;}/* .son{background-color: rgb(180, 63, 184);color: rgb(199, 231, 58);} */</style>
</head>
<body><div class="father"><div class="son1">第一行</div><div class="son2">第二行</div><div class="son3">第三行</div></div>
</body>
</html>
效果图:
3.优先级
当同一个元素指定多个选择器,就会有优先级的产生。
- 选择器相同,则执行层叠性
- 选择器不同,则根据选择器权重执行
选择器 | 选择器权重 |
---|---|
集成/* | (0,0,0,0)----0 |
标签选择器 | (0,0,0,1)----1 |
类选择器/伪元素选择器 | (0,0,1,0)----10 |
ID选择器 | (0,1,0,0)----100 |
行内样式 | (1,0,0,0)----1000 |
!important重要的(color:red!important) | 无穷大 |
注意:
- 权重是有4组数字组成,但是不会有进位。
- 可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择器,以此类推。
- 等级判断从左向右,如果某一位数值相同,则判断下一位数值。
- 可以简单记忆法:通配符和继承权重为0,标签选择器为1,类(伪类)选择器为10,id选择器为100,行内样式为1000,!important无穷大。
- 继承的没有权重,如果该元素没有直接选中,不管父元素权重多高,子元素得到的权重都是0。
- 权重叠加:如果是复合选择器,则会有权重叠加,需要计算权重。(权重虽然有叠加但是不会进位)
例子:
html文件:
<!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>CSS元素模式的转换和CSS三大特性和伪元素</title><style>.father{background-color: pink;}/* son1 *//* 标签选择器 */a{color: red;}/* 类选择器 */.son1{color: rosybrown;}/* id选择器 */#one{color: royalblue;}/* son2 *//* 标签选择器 */div:first-child{color: red;}/* 类选择器 */.son2{color: rosybrown;}/* id选择器 */#two{color: royalblue;}/* son3 *//* 标签选择器 */div:second-child{color: red;}/* 类选择器 */.son3{color: rosybrown;}</style>
</head>
<body><div class="father"><!-- 行内样式 --><a class="son1" id="one" style="color: rgb(84, 173, 62);">第一行</a><div class="son2" id="two">第二行</div><div class="son3" id="three">第三行</div></div>
</body>
</html>
效果图:
三、练习
代码:
HTML:
<!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>菜单</title><link rel="stylesheet" href="./css/菜单.css">
</head>
<body><div><!-- <div class="head1"><div class="back1"><a href="http://">崩坏3</a><a href="http://">怪物之家</a><a href="http://">古剑奇谭网络版</a><a href="http://">洪潮之焰</a><a href="http://">机动战士敢达Online</a><a href="http://">命运之手</a><a href="http://">恶魔秘境</a><a href="http://">笼中窥梦</a></div></div><hr> --><div class="head"><div class="back"><ul><li><a href="http://">崩坏3</a></li><li><a href="http://">怪物之家</a></li><li><a href="http://">古剑奇谭网络版</a></li><li><a href="http://">洪潮之焰</a></li><li><a href="http://">机动战士敢达Online</a></li><li><a href="http://">命运之手</a></li><li><a href="http://">恶魔秘境</a></li><li><a href="http://">笼中窥梦</a></li></ul></div></div><!-- <hr><div class="foot"><a href="http://" ></a> </div> --></div>
</body>
</html>
CSS:
/* .head1{height: 500px;width: 800px;background-image: url(../../../../img素材/康娜元气波.jpg);background-size: cover;
} */
.head{height: 700px ;background-image: url(../img/8work.jpg);background-size: 1200px 700px;background-repeat: no-repeat;
}
.head .back{width: 350px;height: 700px ;background-color: rgba(27,35,49,0.8);
}
.head .back ul{list-style-type: none;height: 700px;
}
li{text-indent: 1em;
}
li>a{ display: block;font-family:"幼圆";font-size: 24px;line-height: 87px;text-decoration: none;color: white;
}
li>a:hover{color: rgb(203,165,118);background-color: rgba(94,94,104, 0.9);
}
.foot a{height: 500px;width: 500px;display: block;background-image: url(../img/im1.jpg);background-size: 500px 500px;background-repeat: no-repeat;
}
div>a:link:hover{height: 500px;width: 500px;display: block;background-image: url(../img/girl.jpg);background-size: 500px 500px;background-repeat: no-repeat;
}
预习:从零开始学前端:伪元素和盒子模型 — 今天你学习了吗?(CSS:Day13)
------不经历风雨,怎能见彩虹。
从零开始学前端:CSS元素模式的转换和CSS三大特性 --- 今天你学习了吗?(CSS:Day12)相关推荐
- 从零开始学前端:if判断,for循环,,switch判断 --- 今天你学习了吗?(JS:Day4)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(JS) 复习:从零开始学前端:中括号代替点操作,获取对象,自定义标签属性 - 今天你学习了吗?(JS:Day3) 文章目录 从零开始学前端 ...
- 从零开始学前端:json对象,对象的序列化和反序列化 --- 今天你学习了吗?(JS:Day15)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(JS) 复习:从零开始学前端:字符串.数组的方法 - 今天你学习了吗?(JS:Day12/13/14) 文章目录 从零开始学前端:程序猿小 ...
- 从零开始学前端:伪元素和盒子模型 --- 今天你学习了吗?(CSS:Day13)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:CSS元素模式的转换和CSS三大特性 - 今天你学习了吗?(CSS:Day12) 文章目录 从零开始学前端 ...
- 从零开始学前端:复习课程 --- 今天你学习了吗?(CSS:Day11)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:CSS复合选择器 - 今天你学习了吗?(CSS:Day10) 文章目录 从零开始学前端:程序猿小白也可以完 ...
- 从零开始学前端:grid布局和音频 --- 今天你学习了吗?(CSS:Day24)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:OPPO商城轮播图 - 今天你学习了吗?(CSS:Day23) 文章目录 从零开始学前端:程序猿小白也可以 ...
- 从零开始学前端:形变(小游戏:3D翻滚盒子) --- 今天你学习了吗?(CSS:Day21)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:过渡和动画 - 今天你学习了吗?(CSS:Day20) 文章目录 从零开始学前端:程序猿小白也可以完全掌握 ...
- 从零开始学前端:弹性盒模型(flex布局) --- 今天你学习了吗?(CSS:Day19)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:字体图标的引入 - 今天你学习了吗?(CSS:Day18) 文章目录 从零开始学前端:程序猿小白也可以完全 ...
- 从零开始学前端:定位 --- 今天你学习了吗?(CSS:Day17)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:显示隐藏与文本溢出 - 今天你学习了吗?(CSS:Day16) 文章目录 从零开始学前端:程序猿小白也可以 ...
- 从零开始学前端:过渡和动画 --- 今天你学习了吗?(CSS:Day20)
从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS) 复习:从零开始学前端:flex布局 - 今天你学习了吗?(CSS:Day19) 文章目录 从零开始学前端:程序猿小白也可以完全掌 ...
最新文章
- 由浅到深了解JavaScript类
- 计算机数值方法期末考试,《计算机数值方法》测试题二
- PHP 字符串替换 substr_replace 与 str_replace 函数
- naarray查询 swift_Swift 4最全的新特性详细解析(推荐)
- java socket send_java socket编程
- ffmpeg简单使用小记
- Linux多线程开发-线程同步-条件变量pthread_cond_t
- Linux下访问光盘数据
- 5G技术将加速智能网联汽车产业化进程
- Zabbix Agent端配置文件说明
- go set up on ubuntu
- 正则表达式3-兄弟的回复
- linux怎么下载ftp文件夹,命令行 - 如何在Linux上通过FTP递归下载文件夹
- java 中文词性标注_使用opennlp进行词性标注
- 第一季 停课模拟考试整理(完结)
- Kotlin学习资料
- Android开机速度优化
- zabbix + nexmo = 电话告警
- iif在mysql能用不_在写SQL语句时,你们会经常用IIF(ISNULL(字段))吗
- FAT32 学习及注意事项
热门文章
- 如何在MVC中下载模板和上传word文件
- 全国计算机二级ms office知识点,2017全国计算机二级MSOffice复习知识点
- linux下比较文件并输出,Linux使用diff命令比较文件的方法
- linux下抓包工具 wireshark,网络抓包工具Wireshark的简单使用
- php文件通常包含和一些,php函数导入与文件包含:include() 和 require() 语句的区别...
- matlab中怎么查看变量,Matlab 查看内存中的变量,清空屏幕等命令
- 曾经的python爬虫挣钱生活_聊一聊,这些年我用Python爬虫挣钱的那些事
- 毛玻璃效果 php,CSS3如何实现磨砂玻璃背景效果
- 定义域是取交集吗_高中数学;函数定义域秒解技巧(学好函数突破数学)
- oracle 12c pdb开启和关闭,及设置开机自启动