美化网页
也是一种标记语言
选择器 {属性:值}
属性与属性值之间用 :
属性后面加 ;
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<style>
p {
color: red;
font-size: 24px;
}
style>
head>
<body>
<p>你哄啊p>
body>
html>
h3 {
color: red;
font-size: 12px;
}
用小写
属性: 属性值
选择器 {
标签名
选择某一类的标签
不能差异化选择
p {
color: red;
}
在要调用的标签加入class属性
.类名 {}
样式点定义,结构类调用(开发常用)
类名自己取,不能是标签名
使用英文
多类名
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<style>
.divi {
width: 200px;
height: 200px;
}
.red {
background-color: red;
}
.green {
background-color: green;
}
style>
head>
<body>
<div class="red divi">div>
<div class="green divi">div>
<div class="red divi">div>
body>
html>
#id名 {}
只能调用一次
* {}
*
选择所有元素
* {
margin: 0;
padding: 0;
}
font-family: 字体类型
font-size: 字体大小
标题标签文字的大小要单独设置
font-weight:字体粗细
p {
font-weight: 700;
/* 不加单位,700相当于bold,400相当于normal */
}
font-style: 倾斜与不倾斜
复合属性
顺序不能颠倒
必须有size和family
font:font-style font-weight font-size/ling-height font-family
文本的外观
div {
color: pink;
/*预定义*/
color: #fff000
/*16进制*/
color: rgb(255, 0, 0);
rgb(100%, 0%, 0%)
/*rgb*/
}
水平方向对齐
text-align: center left right
text-decoration:
text-indent:
首行缩进
em
相当于一个字的大小
line-height:
行间距:文本高度、上间距、下间距
放在 中
一般放在 中
在标签中加入style属性用于简单的样式
单独建一个.css文件
使用
标签名+tab键
便签名*数字
.class
$排序
{内容}
属性、属性值首字母+tab键
父亲 后代 {样式}
更改的是后代元素的样式
父亲>儿子 {样式}
更改的是儿子的样式
元素1,元素2 {}
元素1和元素2的样式都更改
喜欢竖着写
:
按照lvha的顺序
a:link
a:visited
a:hover
a:active
input:focus
光标
一般与 连用
更好的布局网页
元素以什么方式进行显示
分类:①块元素②行内元素
特点:
注意:
文字类的元素不能使用块元素
特点:
注意:
链接里面不能放链接
特殊的a里面可以放块级元素,但将a转换为块级元素更安全
<img />
<input />
<td>
特点:
转换为块级元素
display:block
转换为行内元素
display:inline
转换为行内块元素
display:inline-block
Snipaste
让文字的行高等于盒子的高度
background-color:
默认:transparent
background-image
便于控制位置
background-repeat
默认:repeat
no-repeat
repeat-x
repeat-y
有背景图片时,背景图片会覆盖背景颜色
background-position:x y
x和y可以是方位名词也可以是精确单位
第一个为x,第二个为y
background-attachment: scroll(滚动) fixed(固定)
没有顺序要求
一般为
background:背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置
back:rgba(0, 0, 0, 0.3)
a透明程度
样式冲突采取就近原则
样式不冲突,不会重叠
子标签会继承父标签的的某些样式
text-
font-
line-
color
行高不带单位
body {
font: 12px/1.5
/* 行高为当前文字大小的的1.5倍 */
}
选择器 | 选择器权重 |
---|---|
继承或者 * |
0, 0, 0, 0 |
元素选择器 | 0, 0, 0, 1 |
类选择器,伪类选择器 | 0, 0, 1, 0 |
ID选择器 | 0, 1, 0, 0 |
行内样式style="" | 1, 0, 0, 0 |
!important | ∞无限大 |
注意:
复合选择器权重叠加
权重会叠加但不会进位
组成
border(边框)
content(内容)
padding(内边距)
margin(外边距)
solid实线
dashed虚线
doted点线
简写:
没有顺序
border:
边框的四条边可以分来来定义样式
上边框
border-top
下边框
border-bottom
左边框
border-right
右边框
border-left
表格细线边框
border-collapse:collapse
相邻边框合并在一起
边框会影响盒子的大小
边框与内容之间的距离
padding
注意:
padding也会影响盒子的大小
盒子与盒子之间的距离
简写与padding相同
让块级水平居中对齐
margin: 0 auto
行内和行内块元素水平居中:
可以让父级元素text-align:center
解决方法:
为父元素定义上边框
可以为父元素定义内边距
可以为父元素添加overflow:hidden
* {
margin: 0;
/* 清除外边距 */
padding: 0;
/* 清除内边距 */
}
行内元素尽量定义左右的内外边距
例子
<html>
<head>
<meta charset="UTF-8">
<title>Documenttitle>
<style>
* {
margin: 0;
padding: 0;
}
li {
list-style: none;
}
.box {
width: 248px;
height: 163px;
border: 1px solid #cccccc;
margin: 100px auto;
}
.box h3 {
height: 32px;
border-bottom: 1px dotted #cccccc;
font-size: 14px;
font-weight: normal;
line-height: 32px;
padding-left: 15px;
}
.box ul li a {
font-size: 12px;
color: #666;
text-decoration: none;
}
.box ul li a:hover {
text-decoration: underline;
color: chocolate;
}
.box ul li {
height: 23px;
line-height: 23px;
padding-left: 20px;
}
.box ul {
margin-top: 7px;
}
style>
head>
<body>
<div class="box">
<h3>品优购快报h3>
<ul>
<li><a href="#">文字a>li>
<li><a href="#">文字a>li>
<li><a href="#">文字a>li>
<li><a href="#">文字a>li>
<li><a href="#">文字a>li>
ul>
div>
body>
html>
去掉li前面的项目符号
list-style: none;
border-radius: 具体像素值(百分比)
以所给值的为半径
一个值:四个角
两个值:左上角右下角、右上角左下角
三个值:左上角、右上角左下角、、右下角
四个值:左上角、右上角、右下角、左下角
box-shadow: h-shadow v-shadow blur spread color insert;
h-shadow: 必填,水平阴影的位置,允许负值
v-shadow: 必填,垂直阴影的位置,允许负值
blur: 可选,模糊距离(影子的虚实)
spread: 可选,阴影的尺寸
color: 可选,阴影的颜色
insert: 可选,将外部阴影改为内部阴影
影子不占用空间
text-shadow:h-shadow v-shadow blur color
h-shadow:必填,水平阴影的位置,允许负值
v-shadow:必填,垂直阴影的位置,允许负值
blur:可选,模糊距离
color:可选,阴影颜色
标签按照规定好的默认方式排列
将多个块级元素元素进行一行显示
纵向排列标准流,横向排列浮动
float
选择器{float: 属性值;}
none:不浮动(默认值)
left:左浮动
right:右浮动
一行显示不下的时候会自动换行
浮动元素经常和标准流父级搭配使用
一般策略是:
先用标准流的父元素排列上下位置,之后内部子集元素采取浮动排列左右位置
浮动布局注意点
例子
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<style>
.box {
width: 1200px;
height: 460px;
background-color: pink;
margin: 0 auto;
}
.left {
width: 230px;
height: 460px;
background-color: purple;
float: left;
}
.right {
width: 970px;
height: 460px;
background-color: aquamarine;
float: right;
}
style>
head>
<body>
<div class="box">
<div class="left">左侧div>
<div class="right">右侧div>
div>
body>
html>
例子
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<style>
* {
padding: 0;
margin: 0;
}
li {
list-style: none;
}
.box {
width: 1226px;
height: 285px;
background-color: red;
margin: 100px auto ;
}
.box li {
width: 296px;
height: 285px;
float: left;
background-color: green;
margin-right: 14px;
}
.box .last {
margin-right: 0;
}
style>
head>
<body>
<ul class="box">
<li>1li>
<li>1li>
<li>1li>
<li class="last">1li>
ul>
body>
html>
例子
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<style>
* {
margin: 0;
padding: 0;
}
.box {
width: 1226px;
height: 615px;
background-color: aqua;
margin: 100px auto;
}
.left {
width: 234px;
height: 615px;
background-color: red;
float: left;
}
.right {
width: 992px;
height: 615px;
background-color: blueviolet;
float: left;
}
.right>div {
width: 234px;
height: 300px;
background-color: coral;
float: left;
margin-left: 14px;
margin-bottom: 14px;
}
style>
head>
<body>
<div class="box">
<div class="left">leftdiv>
<div class="right">
<div>1div>
<div>2div>
<div>3div>
<div>4div>
<div>5div>
<div>6div>
<div>7div>
<div>8div>
div>
div>
body>
html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<style>
* {
margin: 0;
padding: 0;
}
li {
list-style: none;
}
.top {
height: 50px;
background-color: gray;
}
.banner {
width: 980px;
height: 150px;
background-color: gray;
margin: 10px auto;
}
.box {
width: 980px;
height: 300px;
margin: 0 auto;
}
.box li {
width: 237px;
height: 300px;
float: left;
background-color: gray;
margin-right: 10px;
}
.box .last {
margin-right: 0;
}
.footer {
height: 200px;
background-color: gray;
margin-top: 10px;
}
style>
head>
<body>
<div class="top">div>
<div class="banner">div>
<div class="box">
<ul>
<li>li>
<li>li>
<li>li>
<li class="last">li>
ul>
div>
<div class="footer">div>
body>
html>
父盒子不方便定义高度时
清除浮动元素造成的影响
选择器{clear:属性值;}
left:清除左侧浮动
right:清除右侧浮动
both:两侧都清除
策略:
闭合浮动
.clearfix:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {
/* IE6、7专用 */
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}
css属性书写顺序
可以让盒子自由的在某个盒子内移动位置或者固定屏幕中的某个位置,并且可以压住其他格子
定位=定位模式+边偏移
position
static:静态定位
默认定位,无定位
普通流
relative:相对定位
相对于原来的位置,
不脱标。原来的位置保留
absolute:绝对定位
相对于祖先元素
子绝父相
fixed:固定定位
以浏览器的可视窗口为准
不占有原来的位置
固定定位fixed
固定在版心右侧位置
粘性定位sticky
选择器{position: sticky; top: 10px}
以浏览器的可视窗口为参考点
占有原先的位置
必须添加top、left、right、bottom其中的一个
边偏移
top:相对于父元素上边线的距离
bottom:
left:
right:
定位叠放次序z-index
选择器 {z-index:1;}
数值可正可负
如果值相同后来居上
不能加单位
只有定位的盒子才有