CSS,层叠样式表单,又称级联样式表,简称样式表,用于html文档中元素样式的定义。
CSS文件后缀名.css
注释:/* …*/
主要由2个部分构成,选择器以及一条或多条声明。
每条声明由一个属性或一个值组成。
属性是希望设置的样式属性,每个属性有一个值,属性和值被冒号分开。
<style>
h1{
color: blue;
font-size:12px;
}
style>
以上代码中,h1是选择器,表明选择的元素。
定义行内样式就是通过直接设置各个元素的style属性,从而达到设置样式的目的。需要在相关标签内使用style属性,style属性可以包含任何css属性。
<body>
<p style="font-size:18px;color:red">此行文字被style定义为红色显示p>
<p>此行文字没有被style属性定义p>
body>
指的是样式表的定义处于html文件一个单独的区域,若单个文档需要特殊的样式时,就应该使用内部样式表,可以用《style》标签定义在文档的头部。
注意:内部样式表处于页面的《head》《/head》之间
<head>
<style>
p{
color:red;
font-size:18px;
}
style>
head>
<body>
<p >此行文字被style定义为红色显示p>
<p>此行文字被style属性定义p>
body>
外部样式表通过在某个html页面中添加链接的方式生效。
外部样式表把声明的样式放在样式文件中,页面需要修改样式时,通过link标签链接外部样式表文件。
<link rel="stylesheet" type="text/css" href="xxx.css">
样式表文件的格式
样式表文件的内容是定义的样式表,不包含html标签。
指在内部样式表的
<style type="text/css">
style>
链入外样式表与导入外部样式表的本质区别:
导入方式实在浏览器下载HTML文件时将样式表文件的全部内容复制到@import关键字位置,以替换该关键字。
链入方式尽在HTML文件需要引用CSS样式文件中的某个样式时,浏览器才链接样式表文件读取需要的内容,但是并不进行替换。
以文档对象模型作为选择符,即选择某个html标签为对象,设置其样式规则,所有的标签都可以作为选择符,样式如下:
E{
/*CSS代码*/
}
E表示网页元素。
具体例子:
body{
font-size:13px;
}
div{
border:3px double #f00;
width:300px;
}
class类选择符的名称可以由用户自定义,使用时必须使用英文.(点)进行标识。
.blue{
color: #00f;
}
p{
border:2px dashed #f00;
width:28px;
}
应用class类选择符的代码如下:
<h3 class="blue">标题可以应用样式,蓝色h3>
<p class="blue">段落可以应用样式,蓝色h3>
同一个标签可以使用多个类选择器,用空格隔开,代码如下:
<h3 class="content size"> 这是一个标题h3>
针对某一个特定标签,一次只能使用一次。
css中定义id选择符时要在id名称前加上一个#号。
#id 是定义的id选择符名称,该选择符名称在一个文档中是唯一的,不能以数字开头,只对页面中唯一元素进行样式定义。
#top{
line-height:20px;
font-size:24px;
color: #f00;
}
应用id选择符的代码如下:
<div id="top">尝试一下div>
由两个选择符直接连接构成,其结果是选中两者各自元素范围的交集。第一个选择符必须是标签选择符,第二个选择符必须是class类选择符或id选择符。
.p,.class {Color:red;font-size:16px;}
p是标签,class是类选择符。
同时选中各个基本选择符所选择的范围,任何形式的基本选择符都可以作为并集选择符的一部分。
h1 span {Color:red;font-size:16px;}
h1 和 span均为标签
选择所有被h1元素包含的span元素,中间用空格隔开
h1 span {Color:red;font-size:16px;}
外层标签是h1,内层标签是span,span标签成为h1标签的后代。
*表示定义所有元素的样式
格式如下:
*{CSS代码}
例如:
*{
/* *表示全局变量 */
margin:1px; /*外边距设置为1*/
padding:2px; /*内边距设置为2*/
}
a:link{color:#ff0000;} /*未访问的超链接状态*/
a:visited{color:#00ff00;} /*已访问链接状态*/
a:hover{color:#ff00ff;} /*鼠标悬停在超链接上的状态*/
a:active{color:#0000ff;} /*被激活的超链接状态*/
注意要把active样式写到hover样式后面,否则active样式是不生效的。
语法格式:
选择符:伪元素{属性:属性值}
CSS中,权重用数字衡量。
优先级从高到低:行内样式1000>ID选择器100>类选择器10>元素选择器1
<p>学习字体属性p>
p{ color: red; /*红色*/}
p{ color: #ff0000; /*红色*/}
p{ color: rgb(0,0,0); /*黑色*/}
<p>学习字体属性p>
p{font-size:14px; }
每个值用逗号分开
如果字体包含空格,它必须加上引号。
font-family:"Simsun","SimHei";
.box1{
width:400px;
height:400px;
background-color:#f00000;
}
.box1{
width:400px;
height:400px;
background-image: url(路径);
}
.box1{
width:400px;
height:400px;
background-image: url(路径);
background-repeat: repeat-y;
}
.box1{
width:400px;
height:400px;
background-image: url(路径);
background-repeat: repeat-y;
background-size: 100% 100%;
}
h1 {text-align: left;}
h1{text-decoration:overline;}
h1{text-transform:uppercase;}
p{
text-indent:50px;
}
table,td{
border:1px solid black;
}
设置表格的边框是否被折叠成一个单一的边框或隔开
table{border-collapse:collapse;}
设置水平对齐方式,向左、右、中心
td{text-align:right;}
设置垂直对齐属性
td{height:50px;vertial-align:bottom;}
如果在表的内容中控制空格之间的边框,应使用td和th元素的填充属性
td{padding:15px;}
下面指定边框的颜色和th元素的文本和颜色
table,td,th{ border:1px solid green;}
td{background-color:green;color:white;}
概念
所有html元素可以看作盒子,css盒子模型本质上是一个盒子,封装周围的html元素,它包括外边距(margin),边框(border),内边距(padding),实际内容(content)。
弹性盒子由弹性容器(Flex container)和弹性子元素(Flex item)组成.
弹性容器通过设置 display 属性的值为 flex 将其定义为弹性容器
弹性容器内包含了一个或多个弹性子元素
定义:指定了弹性子元素在父容器中的位置
语法:
flex-direction:row;
float属性定义元素在哪儿个方向浮动,任何元素都可以浮动。
浮动的原理:
不脱离文档流
<div class="box">div>
.box{
width:100px;
height:100px;
background-color:red;
position:relative;
left:100px;
}
脱离文档流
<div class="box1">div>
<div class="box2">div>
.box1{
width:100px;
height:100px;
background-color:red;
position:absolute;
left:100px;
}
.box2{
width:200px;
height:200px;
background-color:red;
}
脱离文档流
<div class="box">div>
.box{
width:100px;
height:100px;
background-color:red;
position:fixed;
left:100px;
}
<div class="box1">div>
<div class="box2">div>
.box1{
width:100px;
height:100px;
background-color:red;
position:absolute;
left:100px;
z-index:100;
}
.box2{
width:200px;
height:200px;
background-color:red;
z-index:10;
}
<div class="box">div>
.box{
width:100px;
height:100px;
background-color:red;
border-radius:10px;
}
box-shadow:h-shadow或v-shadow或blur或color;
@keyframes name{
from|0%{
CSS样式
}
percent{
CSS样式
}
to|100%{
CSS样式
}
}
animation: name duration timing-function delay iteration-count direction;
<div class="animation">div>
.animation{
width:100px;
height:100px;
background-color:red;
animation:anima 5s linear 5s infinite;
}
.animation:hover{
animation-play-state:paused;
}
@keyframes anima{
0%{
background-color:red;
}
50%{
background-color:green;
}
100%{
background-color:blueviolet;
}
}
使用设备的宽度作为视图宽度并禁止初始的缩放,在标签里加入这个meta标签。
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
加入以上代码就会按设置的宽度不变,如果不加则会按比例缩放。
参数解释
CSS Sprite也叫CSS精灵图,CSS雪碧图,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一个大图中去。
优点
原理