<body>
<style>
p {
color: rebeccapurple;
font-size: 20px;
}
style>
body>
泱泱齐风,多彩淄博 p>
文件 “化妆术.css”中实现样式处理
p {
color: aqua;
font-size: 40px;
}
外部样式将样式和结构分离,受到浏览器缓存的影响,修改之后 不一定 立刻生效
什么是浏览器缓存呢?
浏览器访问一个网页的时候,会从服务器上下载一系列的资源(包括html文件、css文件、js文件、图片、字体…),如果每次访问通过网络下载的话,开销巨大,访问速度会非常慢,由于css文件、js文件、图片、字体很少改变,浏览器将这些一次下载的资源就保存在本地磁盘上,后续需要这些资源就从磁盘上读取(从磁盘上读通常比网络上读快很多)
如果修改了css文件、js文件,浏览器访问网页时还是从缓存中读取旧的资源。每次修改css/js文件,同时修改文件的名字,浏览器在加载页面时,发现一个新的文件名,它在缓存中不存在,浏览器会重新下载
如果不修改文件名,浏览器访问页面时强制刷新(Ctrl+F5),浏览器会重新下载资源
css文件名中有一部分后缀是机器自动生成的16进制数据,一旦文件内容改变,重新打包部署时会自动更新后缀
单个选择器构成
p {
color: rebeccapurple;
font-size: 20px;
}
.blue {
color: blue;
}
.box{
font-size: 60px;
}
<p class="blue box">齐风陶韵,生态淄博 p>
#one{
color: green;
}
红瓦绿树,碧海蓝天 p>
* {
font-size: 60px;
}
<p class="blue" id="one">齐风陶韵,生态淄博 p>
<div class="shandong">
<ul>
<li class="A">泉城济南,泉甲天下li>
<li class="B">红瓦柳树,碧海蓝天li>
<li>齐风陶韵,生态淄博li>
ul>
div>
<div class="shanxi">
<ol>
<li class="A">塞上江南,神奇宁夏li>
<li class="B">人文陕西,山水秦岭li>
<li>传奇丝路,醉美甘肃li>
ol>
div>
<p>齐风陶韵,生态淄博 p>
div.shandong{
color: aqua;
}
div ul{
color: purple;
}
div li{
color: purple;
}
.shandong li {
color: aqua;
}
/*标签为div且类名为shandong的元素*/
div.shandong li {
color: aqua;
}
>
分割 div>ul{
color: blueviolet;
}
div>ul>li{
color: blueviolet;
}
.shandong>ul>.A{
color: red;
}
,
分割
div, p{
color: blue;
}
.A, .B{
color: yellow;
}
.shandong .A, p{
color: purple;
}
a:link | 选择未访问的链接 |
a:visited | 选择访问过的链接 |
a:hover | 选择鼠标指针悬停的链接 |
a:active | 鼠标指针按下了但是未弹起 |
a:link{
color: red;
/*链接默认带着下划线,此处设置不带下划线*/
text-decoration: none;
}
a:visited{
color: orange;
}
a:hover{
color: yellow;
}
a:active{
color: green;
}
<a href="#">好客山东欢迎你a>
让一个已经访问过的链接恢复到未被访问的状态:清空浏览器历史记录(Ctrl+shift+delete)
p {
/* 不建议中文 所设置的字体必须保证机器上存在*/
font-family: '宋体';
font-family: ''
/* 字体大小 */
font-size: 100px;
/* 字体粗细 100~900 */
font-weight: 800;
/* 文字样式 */
/* 设置倾斜 */
font-style: italic;
/* 取消倾斜 */
font-style: normal;
font-style:
}
/* 严格按照此顺序设置,不同属性间空格隔开*/
选择器{
font-style font-weight font-size font-family
}
p {
font: italic 800 100px '宋体';
}
p {
color: purple;
color: #800080;
color: rgb(128,0,128);
}
text-algin: center;
text-align: left;
text-algin: right;
text-decoration: underline; /* 下划线 */
text-decoration: overline; /* 上划线 */
text-decoration: line-through; /* 删除线 */
text-decoration: none; /* 什么都没有,常用于去除超链接默认下划线 */
text-indent: 2em;
/* 行间距 */
line-height: 20px;
p {
width: 100%;
height: 200px;
background-color: aqua;
}
background-image: url(image/中国风.png);
background-repeat: repeat
background-repeat: no-repeat; /* 不平铺 */
background-repeat: repeat-x; /* 水平平铺 */
background-repeat: repeat-y; /* 垂直平铺 */
背景图片的位置
可以用精确值(x y 坐标)确定位置
第一个一定是x,第二个一定是y
只给一个精确值,该数值一定是x,另一个默认居中
计算机中表示坐标一般是“左手系”
使用方位名词(top,bottom,left,right)
两个方位名词的前后顺序无所谓
只给一个方位名词,另一个默认居中
混合单位,第一个值一定是x,第二个值一定是y
background-position: 100px 200px; /* 先是x,再是y */
background-position: center center;
background-size: 100px 200px;
background-size: 100% 20%;
background-size: cover;
background-size: contain;
块级元素和行内元素都是元素的显示模式
块级元素
行内元素
行内块元素(少见)
<div>
<strong>泉城济南,泉甲天下strong>
红瓦绿树,碧海蓝天
齐风陶韵,生态淄博
江北水城,运河古都
div>
strong{
background-color: red;
/* 行内元素 转为 块级元素*/
display: block;
/* 隐藏元素 不显示标签中的内容*/
display: none;
/* 改为行内块元素 很少见 */
display: inline-block;
}
div{
height: 600px;
background-color: aqua;
/* 块级元素 转为 行内元素 */
/* 这种操作极其少见 */
display: inline;
}
每一个HTML标签都相当于一个矩形的“盒子”
注意:边框和内边距会撑大盒子
比如设计盒子的width和height为500px,此时设计的尺寸是不包含边框和内边距的,如果border-width为20px,盒子的width和height会变为520px
使用通配符选择器修改盒子属性,设计的属性包含边框和内边距,盒子依旧是500×500
* {
box-sizing: border-box;
}
盒子大小
div {
width: 600px;
height: 200px;
}
/* 宽度与父盒子相同 */
div {
width: 100%;
height: 200px;
}
边框
div{
height: 500px;
width: 500px;
background-color: aqua;
/* 基本属性 */
/* 边框宽度 */
border-width: 10px;
/* solid-实线 dashed-虚线 dotted-点线*/
border-style: solid;
/* 边框颜色 */
border-color:blue;
/* 简写 没有顺序要求 */
border: 10px solid blue;
/* 对四个边框分别设计 */
border-top: 10px;
border-bottom: 10px solid orange;
border-left: 10px solid yellow;
border-right: 10px solid green;
}
内边距
div{
/* 四个方向的内边距均为20px */
padding: 20px;
/* 上下 左右 */
padding: 20px 40px;
/* 上 左右 下 */
padding: 20px 30px 40px;
/* 上 右 下 左 顺时针方向 */
padding: 10px 20px 30px 40px;
/* 四个方向分开设计 */
padding-left: 10px;
padding-right: 20px;
padding-top: 30px;
padding-bottom: 40px;
}
外边距
规则同内边距
div{
/* 四个方向的内边距均为20px */
margin: 20px;
/* 上下 左右 */
margin: 20px 40px;
/* 上 左右 下 */
margin: 20px 30px 40px;
/* 上 右 下 左 顺时针方向 */
margin: 10px 20px 30px 40px;
/* 四个方向分开设计 */
margin-left: 10px;
margin-right: 20px;
margin-top: 30px;
margin-bottom: 40px;
}
margin: auto;
margin: 0 auto;
/* 垂直居中不能用 margin: auto 0;*/
每一个HTML标签都相当于一个矩形的“盒子”,现在我们将这个规则的矩形改变成一个圆角矩形
内切圆的半径,数值越大,弧线越强烈
p {
width: 600px;
height: 200px;
background-color: aqua;
border-radius: 100px;
}
p {
width: 600px;
height: 600px;
background-color: aqua;
border-radius: 300px;
/* 50%表示宽度的一半 */
border-radius: 50%;
}
border-radius: 100px 300px 20px 90px; /* 左上起 顺时针 */
/* 或者是 */
border-top-left-radius: 100px ;
border-top-right-radius: 300px ;
border-bottom-right-radius: 200px ;
border-bottom-left-radius: 90px ;
布局就是把某个元素放到某个位置
<style>
div{
background-color: blueviolet;
width: 600px;
height: 200px;
display:flex;
}
span{
width: 80px;
background-color: aqua;
}
style>
<div>
<span>泉城济南,泉甲天下span>
<span>红瓦绿树,碧海蓝天span>
<span>齐风陶韵,生态淄博span>
<span>江北水城,运河古都span>
div>
display:flex;
/* 元素位于容器最左侧 (默认)*/
justify-content: flex-start;
/* 元素位于容器最右侧 */
justify-content: flex-end;
/* 元素居中 */
justify-content: center;
/* 两边元素先贴近容器边缘,再平分剩余空间 */
justify-content: space-between;
/* 平分剩余空间 */
justify-content: space-around;
display:flex;
/* 元素位于容器最上侧 */
align-items: flex-start;
/* 元素位于容器最底侧 */
align-items: flex-end;
/* 元素居中 */
align-items: center;
/* 两边元素先贴近容器边缘,再平分剩余空间 */
align-items: space-between;
/* 平分剩余空间 */
justify-content: space-around;
<style>
* {
box-sizing: border-box;
}
header {
width: 100%;
height: 75px;
background-color: lightsalmon;
}
footer {
width: 100%;
height: 75px;
background-color:chocolate;
}
div {
width: 100%;
height:500px;
background-color: aquamarine;
display: flex;
justify-content: space-between;
}
.left {
width: 150px;
background-color: rgb(43, 144, 226);
}
.right {
width: 150px;
background-color: chartreuse;
}
.content {
/* calc() 处理比例和精确值的混合运算 */
width: calc(100% - 320px);
background-color: bisque;
}
style>
<header>
header>
<div>
<span class="left">span>
<span class="content">span>
<span class="right">span>
div>
<footer>
footer>