看完本篇博客,你能收获:
👉 Cascading Style Sheet ( 层叠级联样式表 )
CSS可以干什么?
CSS(Cascading Style Sheets,层叠样式表)是一种将表示样式应用到标记的系统。CSS以设计、改变其HTML页面的样式而知名,并使用于Web和其他媒介,如XML文档中。1996年12月W3C推出了CSS规范的第一个版本,1998年W3C发布了CSS的第二个版本即CSS2.0,2001年5月W3C开始进行CSS3标准的制定,到目前为止该标准还没有最终定稿。
👉 | CSS 发展历程 |
---|---|
CSS 1.0 | 1996年12月W3C推出了CSS规范的第一个版本 |
CSS 2.0 | div 块+CSS,HTML与CSS结构分离的思想,网页变得简单,方便SEO |
CSS 2.1 | 浮动,定位 |
CSS 3.0 | 圆角,阴影、动画…浏览器兼容性 |
(一个文件)在 HTML代码中插入 style标签 写CSS代码:
CSS快速入门
标题
(两个文件)只需在HTML代码中使用 link 标签,然后指向 CSS 文件:
效果也是一样的,但更建议使用这种方式( HTML + CSS 分离)
CSS的优势:
CSS的3种导入方式
拓展:外部样式有两种写法
- 链接式:link 标签;
- 导入式(CSS 2.1 特有):
link 和 import 之间的区别?
差别 1:
- 本质的差别:link 属于 XHTML 标签,而 @import 完全是 CSS 提供的一种方式。
差别 2:
- 加载顺序的差别: 当一个页面被加载的时候(就是被浏览者浏览的时候) ,link 引用的 CSS 会同时被加载,而 @import 引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览 @import 加载 CSS
的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显。差别 3:
- 兼容性的差别: @import 是 CSS2.1 提出的,所以老的浏览器不支持,@import 只有在 IE5 以上的才能识别,而 link标签无此问题。
差别 4:
- 使用 dom(document object model文档对象模型 )控制样式时的差别:当使用 javascript 控制 dom
去改变样式的时候,只能使用 link 标签,因为@import 不是 dom 可以控制的。
基本选择器
HTML
CSS
JavaScript
OK
类选择器
No.1
No.2
No.3
可以不同类型的多个标签归类,实现同一效果
id选择器
标题1
标题2
标题3
显示优先级:id > class > 标签
如果想实现如下层次图中的某个层次,可以考虑以下选择器
层次选择器
p1
p2
p3
p4
p5
p4
p5
p6
/*后代选择器*/
body p{background: yellow;
}
/*子选择器*/
body>p{background: cyan;
}
/*相邻兄弟选择器:只有一个,相邻(向下)*/
.brother + p{background: cadetblue;
}
/*通用选择器:当前选中元素的向下的所有兄弟元素*/
.active ~ p{background: orange;
}
标签 + 冒号 : 以构成 伪类 选择器:
结构伪类选择器
p1
p2
p3
- li1
- li2
- li3
鼠标移到上面变色:
id 和 class 结合起来的选择器,支持正则表达式,日常开发中最常用
属性选择器:(支持正则表达式)标签[属性名=属性值]{}= 绝对等于*= 包含这个元素 (通配符)^= 开头等于$= 结尾等于
完整代码:(下文有解读)
属性选择器
代码解读:
效果如下:
/*存在id属性的元素*/
a[id]{background: cyan;
}
/*id等于first的元素*/
a[id=first]{background: cyan;
}
/*class中有links的元素*/
a[class*="links"]{background: cyan;
}
/*选中href中以https开头的元素*/
a[href^="https"]{background: cyan;
}
/*选中href中以pdf结尾的元素*/
a[href$=pdf]{background:cyan;
}
= 绝对等于
*= 包含这个元素 (通配符)
^= 开头等于
$= 结尾等于
为什么要美化网页?
font:
字体样式
CSS是什么?
CSS(Cascading Style Sheets,层叠样式表)是一种将表示样式应用到标记的系统。CSS以设计、改变其HTML页面的样式而知名,并使用于Web和其他媒介,如XML文档中。
1996年12月W3C推出了CSS规范的第一个版本,1998年W3C发布了CSS的第二个版本即CSS2.0,2001年5月W3C开始进行CSS3标准的制定,到目前为止该标准还没有最终定稿。
W3C:World Wide Web Consortium
效果如下:
span 标签:重点要突出的字,用 span 套起来
span标签
欢迎学习Java
效果如下:
文本样式
CSS是什么?
CSS(Cascading Style Sheets,层叠样式表)是一种将表示样式应用到标记的系统。CSS以设计、改变其HTML页面的样式而知名,并使用于Web和其他媒介,如XML文档中。
1996年12月W3C推出了CSS规范的第一个版本,1998年W3C发布了CSS的第二个版本即CSS2.0,2001年5月W3C开始进行CSS3标准的制定,到目前为止该标准还没有最终定稿。
W3C:World Wide Web Consortium
miaobanli
miaobanli
miaobanli
超链接
效果如下:
文本阴影:https://www.w3school.com.cn/css/css_text_shadow.asp
a{text-shadow:#3cc7f2 10px 10px 10px;/* 阴影颜色 水平偏移 垂直偏移 阴影半径 */ }
a:hover { }
超链接伪类
鼠标悬浮(未点击) 及 鼠标点击(未释放)效果
初始样式:
HTML :
列表样式
+ CSS:
#nav{width:230px;background: gray;
}
.title{font-size:18px;font-weight:bold;text-indent:1em;line-height:35px;background: indianred;
}
/* list-style:
none 去掉原点
circle 空心圆
decimal 数字
square 正方形*/
ul{background:gray ;
}
ul li{height:30px;list-style:none;
}
a{text-decoration:none;font-size:14px;color:black;
}
a:hover{color:orange;text-decoration: underline;
}
HTML + CSS 修改后:
图像背景:
图片背景
渐变:
background-color: #4158D0;
background-image: linear-gradient(43deg, #4158D0 0%, #C850C0 46%, #FFCC70 100%);
👉 可以从这个 网站 https://www.grabient.com里面调样式复制 CSS 代码
margin : 外边距
padding : 内边距
border : 边框
盒子大小 = margin + border + padding + 内容宽度
Title
登录界面
效果如图:
Title
登录界面
Title
效果如图:
Title
display :方向不可控制
float : 浮动起来可能会脱离标准文档流,要解决父级边框塌陷问题
Title
div块元素
span行内元素
如果有父级边框塌陷问题:比如设置了浮动以后,只有浮动元素,而原来的块元素收缩了,可以增加 clear:
clear : right ; 右侧不允许有浮动元素
clear : left ; 左侧不允许有浮动元素
clear : both ; 两侧不允许有浮动元素
clear : none ; 允许有浮动
解决方案:
overflow : hidden; 超出规定大小后就隐藏
overflow : scroll; 超出规定大小就有滚动条,自动溢出
overflow : auto;
father:after{content:'';display:block;clear:both;
}
Title
第一个盒子第二个盒子第三个盒子
原来是这样:
相对位移后:
position : absolute
top : -20px;
left : 20px;
bottom : -10px;
right : 20px;
固定在网页的某个位置,即使滚动条滚动,也始终保持在原来的位置
Title
div1
div2
绿色的块是绝对定位,滚动条一滑就跟着跑了
粉色的是固定定位,即使滚动条滑了,也是固定在右下角不动的
z-index 属性指定一个元素的堆叠顺序。
拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。
z-index 默认是 0
使用前提:
(1)必须在定位元素(position:relative/absolute/fixed/sticky)上才有效
(2) 可以有负值
(3)不同父元素的子元素之间进行显示时,会根据父级元素的z-index进行渲染.
z-index不起作用的几种情形:
当前设置z-index元素的父元素 position:relative/absolute;
当前设置z-index元素为浮动元素。
示例:文字及背景悬浮在图片之上:
Title
![]()
- 大展宏兔
👉 更多详细介绍
https://www.runoob.com/css3/css3-animations.html
https://www.html5tricks.com/tag/css3动画/
👉 CSS-菜鸟教程
如果看到比较好看的页面想要模仿,可以保存网页源码来仿照着写;
也可以网上搜索一些源码仿照 (源码之家 模板之家等)
上一篇:一文理解JVM虚拟机