CSS是级联样式表(Cascading Style Sheets)的缩写。HTML 用于撰写页面的内容,而 CSS 将决定这些内容该如何在屏幕上呈现。
网页的内容是由 HTML的元素构建的,这些元素如何呈现,涉及许多方面,如整个页面的布局,元素的位置、距离、颜色、大小、是否显示、是否浮动、透明度等等。
css样式规则
选择器+声明(属性:值)
例 h1{color:blue}
选择器是需要改变样式的对象,声明是由一个属性和一个值组成,属性是设置的样式属性,每个属性有一个值。
如:
p{
color:blue;
text-align:center; /* 文本居中 */
}
选择器
id选择器,适用范围只有一个元素。
首先定义元素
<p id="apple">红色的苹果</p>
id选择器
/* 注意:id选择器前有 # 号。 */
#apple{
color: red;
}
效果
class选择器,适用范围可以有多个元素,可以重复。
首先定义元素
<p class="center">我会居中显示的</p>
<p class="red">我是红色的</p>
<p class="center large red">我又红又大还居中</p>
<p class="red">我也可以是红的</p>
class选择器
/* 注意:class选择器前有 . 号。 */
.center{
text-align: center;
}
.large{
font-size: 30px;
}
.red{
color: red;
}
效果
后代选择器
以空格作为分隔,如:.haha p 代表在div元素内有.haha这种类的所有元素。
子选择器
也称为直接后代选择器,以>作为分隔,如:.haha > p 代表在有.haha类的元素内的直接
元素。
css生效方式
外部样式表
在head中,将导入外部的 mycss.css 样式表文件
<link rel="stylesheet" type="text/css" href="mycss.css">
一般我们会在项目目录下建一个文件夹如css专门存放样式表文件,如此我们引入样式文件时路径就变为 ./css/mycss.css之类的。
内部样式表
在head中引入style标签
<style>
h1 {
color: red;
}
</style>
内联样式
将样式规则直接写入要应用的元素中
<h3 style="color:green;">I am a heading</h3>
盒子模型
Content 盒子的内容,如文本、图片等
Padding 填充,也叫内边距,即内容和边框之间的区域
Border 边框,默认不显示
Margin 外边距,边框以外与其它元素的区域
定位
position属性用于对元素进行定位。
static 静态
设置为静态定位position: static;,这是元素的默认定位方式,也即你设置与否,元素都将按正常的页面布局进行。
即:按照元素在 HTML出现的先后顺序从上到下,从左到右进行元素的安排。
relative 相对
设置为相对定位position: relative;,这将把元素相对于他的静态(正常)位置进行偏移
fixed 固定
设置为固定定位position: fixed;,这将使得元素固定不动(即使你上下左右拖动浏览器的滚动条)。
此时元素固定的位置仍由top, bottom, left, right属性确定,但相对的是视口(viewport,就是浏览器的屏幕可见区域)
absolute 绝对
设置为绝对定位position: absolute;,将使元素相对于其最近设置了定位属性(非static)的父元素进行偏移。
如果该元素的所有父元素都没有设置定位属性,那么就相对于<body>
这个父元素。
浮动
在一个区域或容器内,我们可以设置float属性让某元素水平方向上向左或右进行移动,其周围的元素也会重新排列。我们常用这种样式来使图像和文本进行合理布局。
一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
浮动元素之后的元素将围绕它。
如下4张图片,如果没加样式的话,这几张图片将会从上到下依次显示。使用左浮动,让它们水平依次显示。
<html>
<head>
<style>
.example-float-left{
float: left;
}
</style>
</head>
<body>
<img src="dk1.jpg" class="example-float-left" alt="" width="400" height="400">
<img src="dk2.jpg" class="example-float-left" alt="" width="400" height="400">
<img src="dk3.jpg" class="example-float-left" alt="" width="400" height="400">
<img src="dk4.jpg" class="example-float-left" alt="" width="400" height="400">
<p>有如下4张图片,如果没加样式的话,这几张图片将会从上到下依次显示。使用左浮动,让它们水平依次显示。</p>
</body>
</html>
不透明度
用opacity对任何元素(不过常用于图片)设置不透明度。
值在[0.0~1.0]之间,值越低,透明度越高,如下图所示:
<html>
<head>
<style>
img {
width: 25%;
border-radius: 10px;
float: left;
margin: 10px;
}
.opacity-2{
opacity: 0.2;
}
.opacity-7 {
opacity: 0.7;
}
.opacity-10{
opacity: 1;
}
</style>
</head>
<body>
<img class="opacity-2" src="dk1.jpg">
<img class="opacity-7" src="dk1.jpg">
<img class="opacity-10" src="dk1.jpg">
</body>
</html>
伪类和伪元素
伪类(pseudo-class)或伪元素(pseudo-element)用于定义元素的某种特定的状态或位置等。
语法
/* 选择器后使用 : 号,再跟上某个伪类/伪元素 */
selector:pseudo-class/pseudo-element {
property:value;
}