第二周
一.Emmet语法
作用:提高HTML/CSS的编写速度
1.1一般快捷方式
快速写标签 p+ENTER/p+table
标签指定个数p*n
1.2.父子关系表示
ul>li*n
兄弟关系表示
div+p
1.3快速创建 类(.name+ENTER)与id(#name+ENTER)选择器
1.4创建多个
.class$*n
div{内容}*n
div{$}*n
在style标签中可用
h300 直接设置高
tac 直接设置文本居中等行为
二.复合选择器
元素1空格元素2{样式声明} 例:ul li{color:red;}
元素1与元素2中间用空格隔开
元素1是父级,元素2是子/孙
元素1和2可以是任意基础选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul li{
color:red;
`
ol li a{
color:red;
}
.pink li a{
color:pink;
}
</style>
</head>
<body>
<ul>
<li>我是ul的孩子</li> <!--内容全部被更改-->
<li>我是ul的孩子</li> <!--内容全部被更改-->
<li>我是ul的孩子</li> <!--内容全部被更改-->
<li>我是ul的孩子</li> <!--内容全部被更改-->
<li><a href="#">孙子</a></li> <!--想改这个看ol里面-->
</ul>
<ol>
<li>我是ol的孩子</li>
<li>我是ol的孩子</li>
<li>我是ol的孩子</li>
<li>我是ol的孩子</li>
<li><a href="#">孙子</a></li><!--红色-->
</ol>
<ol class="pink"> <!--如果有好几个ol,在这里加个类名-->
<li>我是ol的孩子</li>
<li>我是ol的孩子</li>
<li>我是ol的孩子</li>
<li>我是ol的孩子</li>
<li><a href="#">孙子</a></li><!--粉色-->
</ol>
</body>
</html>
-
子选择器
子元素选择器 只能选择作为某元素的最近一级子元素(简单理解就是选亲儿子元素)
- 元素1 和 元素2 中间用 大于号 隔开
- 元素1 是父级,元素2 是子级,最终选择的是元素2
- 元素2 必须是亲儿子,其孙子、重孙之类都不归他管. 你也可以叫他 亲儿子选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.nav>a{
color:pink;
}
</style>
</head>
<body>
<div class="nav"><a href="#">儿子</a>
<p><a href="#">孙子</a></p><!--不是儿子不变色-->
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div,p,span,.pig{
color:red;
}
</style>
</head>
<body>
<div>熊大</div>
<p>熊二</p>
<span>光头强</span>
<ul class="pig">
<li>佩奇</li>
<li>猪爸爸</li>
<li>猪妈妈</li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 按照LVHA的顺序来写 一般用到link和hover*/
a:link{color:#333;/*显示颜色改为黑色*/
text-decoration: none; /*去掉下划线*/
}
a:visited{
color:orange;/*访问过的颜色*/
}
a:hover{
color:skyblue;/*悬停是颜色*/
}
a:active{color:green;}/*正在按下还未弹起的颜色*/
</style>
</head>
<body>
<a href="#">链接伪类选择器</a>
</body>
</html>
-
focus伪类选择器
用于选取获得焦点的表单元素,焦点就是光标,一般情况input标签才能用,主要针对标签.
- 将选中的表单光标改色
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> input:focus{ background-color:pink; } </style> </head> <body> <input type="text"> <input type="text"> <input type="text"> </body> </html>
复合选择器综合
选择器 | 作用 | 特征 | 使用情况 | 隔开符号及用法 |
---|---|---|---|---|
后代选择器 | 用来选择后代元素 | 可以是子孙后代 | 多 | .nav a 空格 |
子代选择器 | 选择最近一级元素 | 只能是最近的儿子 | 少 | .nav>p 大于号 |
并集选择器 | 选择某些相同样式的元素 | 可以用于集体声名 | 多 | .nav,div 逗号 |
链接伪类选择器 | 选择不同状态的链接 | 跟链接相关 | 多 | a{}和a:hover |
:focus选择器 | 选择获得光标的表单 | 跟表达那相关 | 少 | input:focus |
三.CSS元素显示模式
1.1块元素:h1-h6、p、div、ul、ol、li其中div最典型
块元素特点
- 独占一行
- 高、宽、内 外边距都可控
- 宽度默认是容器(父级宽度)的100%
- 是一个容器及盒子,里面可以放行内或块级元素
- 文字类元素内不能使用块元素例:p、h1-h6里不可有div
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div
{
height:20px;
padding:10%;
}
</style>
</head>
<body>
<div>这里可以调节宽高边距</div>
</body>
</html>
1.2行内元素:span、a、strong、b、em、i、del、s、ins、u其中span最典型
行内元素特点:
- 相邻行内元素在一行上,一行上可以显示多个
- 高、宽直接设置是无效的
- 默认宽度就是本身内容的宽度(自动把盒子撑开)
- 行内元素只能容纳文本或其他行内元素
- 链接里不能放链接a里面不能套a
- a内可以放块元素,但需转换
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<span>1</span> <span>2</span> <span>3</span>
</body>
</html>
1.3行内块元素
img、input、td
他们同时具有两者的特点
- 一行可放多个
- 默认宽度就是本身内容
- 宽、高、外边距都可控
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
input{ height:20px;
}
</style>
</head>
<body>
<input type="text">
<input type="text">
</body>
</html>
元素模式 | 元素排列 | 设置样式 | 默认宽度 | 包含 |
---|---|---|---|---|
块级元素 | 一行只能放一个块级元素 | 可设宽高 | 容器的100% | 可包含任意标签 |
行内元素 | 一行可以放多个行内元素 | 不可直接设宽高,间接 | 本身内容的宽度 | 文本或其他行内标签 |
行内块元素 | 一行可放多个行内块元素 | 可设宽高 | 本身内容的宽度 |
简单理解:一个模式的元素需要另外一种模式的特性
例:增加a的触发范围 使用较多
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a{
height: 200px;
width: 150px;
background-color:pink;
display:block;
}
</style>
</head>
<body>
<a href="#">金星阿姨</a>
<a href="#">金星阿姨</a>
</body>
</html>
案例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a{
height: 40px;/*触发范围*/
width: 230px;/*触发范围*/
display:block;/*改为块级元素*/
color:white;
background-color: #55585a;
text-decoration: none;/*去掉下划线*/
text-indent: 2em;/*缩进两个文字*/
line-height: 40px;/*文字行高等于盒子高度可以实现垂直居中效果*/
}
a:hover{
background-color:orange;
}
</style>
</head>
<body>
<a href="#">手机 电话卡</a>
<a href="#">电视盒子</a>
<a href="#">平板 电脑</a>
<a href="#">耳机音箱</a>
<a href="#">健康儿童</a>
<a href="#">出行穿戴</a>
</body>
</html>
例:块元素转为行内元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
a{
height: 200px;
width: 150px;
background-color:pink;
display:block;
}
div{
display:inline;
}
</style>
</head>
<body>
<a href="#">金星阿姨</a>
<a href="#">金星阿姨</a>
<div>我是块级元素,想要变成行内元素</div>
<div>我是块级元素,想要变成行内元素</div>
</body>
</html>
同样的改为行内块元素使用display:inline-block;
四.CSS的背景
CSS背景属性可以设置背景颜色、背景图片、背景平铺、背景图片位置、背景图像固定等
优点是便于控制位置
简单理解就是重复
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{width: 200px;
height: 200px;
background-color: #fff;
background-repeat:no-repeat;
/* 平铺还可以设置repeat、repeat-x、repeat-y */
}
</style>
</head>
<body>
<div>
</div>
</body>
</html>
1.1 方位控制 top、bottom、left、right、center 其中1和2是y轴3和4是x轴,center x和y位置可交换若只定义一个那剩下的为居中(center)
- 如果俩个值都是方位名词,则两个值前后顺序无关,比如
left top与top left效果一致
- 如果只指定一个方位名词,另一个值省略,则第二个值默认居中对齐
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
body{
background-image:url(地址);
background-position:center top;
background-position:top;
background-position:top center;
background-repeat:no-repeat;
}
</div>
</head>
<body>
</body>
</html>
1.2 更准确的控制 参数是精确单位
- 第一个是x坐标,第二个是y坐标
- 若只指定一个值,那该数一定是x坐标,y坐标默认居中对齐
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
body{
background-image:url(地址);
background-position:20px 20px; /*其中第一个20px是x轴距离最左端距离,第二个20px是y轴上距离顶端的距离*/
background-repeat:no-repeat;
}
</div>
</head>
<body>
</body>
</html>
1.3 混合使用
- 第一个是x坐标,第二个是y坐标
background-position:20px center;/*距离最左端20px,y方向上居中对齐*/
background-position:center 20px;/*水平居中对齐,距离最上端20px*/
设置背景图像是否固定或随着页面滚动
参数 | 作用 |
---|---|
scroll | 背景图像随对象内容滚动 |
fixed | 背景图像固定 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
body{
background-image:url(url);
background-repeat:no-repeat;
background-attachment:fixed;/*现在图片固定不会随滚轮滚动*/
<!-- 默认情况是scroll,随着滚动 -->
}
</head>
<body>
</body>
</html>
1.4复合写法
background: 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置
background: pink url(image.jpg) nopeat fixed center top;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{
width:200px;
height:200px;
background:rgba(0,0,0,0.5); /*第四个是透明度从0到1*/
}
</style>
</head>
<body>
<div>
</div>
</body>
</html>
背景总结
属性 | 作用 | 值 |
---|---|---|
background-color | 背景颜色 | 直接/十六进制/rgb代码 |
background-image | 背景图片 | url(图片路径) |
background-repeat | 是否平铺 | repeat/no-repeat/repeata-x/repeat-y |
background-position | 背景位置 | 方位/x y坐标 |
background-attachment | 附着 | scroll默认滚动/fixed(固定) |
背景简写 | 书写更透明 | 颜色 地址 平铺 滚动 位置 |
背景色半透明 | 背景色半透明 | background:rgba(0,0,0,0.3) 四个值 |
五.CSS的三大特性
5.1层叠性
相同选择器设置相同的样式,一个样式会覆盖另一个冲突的样式.层叠性主要解决样式冲突.
- 就近原则
- 不冲突的样式都执行
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
p{
color:red;
font-size:large;/*两个p选择器都有color属性*/
}
p{
color:pink;/*就近原则用pink*/
}/*字体大小不冲突使用*/
</style>
</head>
<body>
<p>长江后浪推前浪</p>
</body>
</html>
5.2继承性
CSS中的继承:子标签会继承父标签的某些样式,如文本颜色和字号
主要继承文字(text-,font-,line-以及color)35
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div{color:pink;}
/*虽然只选择了div但是在html中div含有p这个子标签p的内容就被修饰了*/
</style>
</head>
<body>
<div>
<p>长江后浪退前浪</p>
</div>
</body>
</html>
5.3优先级
- 选择器相同,则执行层叠性
- 选择器不同,根据权重执行
选择器 | 选择器权重 |
---|---|
继承 或 *(通配符) | 0,0,0,0 |
标签选择器 | 0,0,0,1 |
类选择器,伪类选择器 | 0,0,1,0 |
ID选择器 | 0,1,0,0 |
行内样式style=“” | 1,0,0,0 |
!important 重要的 | 无穷大 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 继承 */body{color:red;}
/* 标签 */div{color:yellow!important;}
/* 类,伪类 */.pink{color:pink;}
/* ID*/#blue{color:blue;}
</style>
</head>
<body>
<div class="pink" id="blue" style="color:green;">
选择器的权重
</div>
</body>
</html>
- 权重叠加
如果是复合选择器,需要计算权重
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* ul li权重 0,0,0,1 + 0,0,0,1=0,0,0,2 */
/*后代选择器 */ ul li{color:red;}
/* 权重li0,0,0,1 */
li{color:yellowgreen;}
/* 权重.nav li 0,0,1,0 +0,0,0,1 = 11 */
.nav li{color:skyblue;}
</style>
</head>
<body>
<ul class="nav">
<li>吃喝玩乐</li>
<li>吃饭碎觉</li>
</ul>
</body>
</html>
权重的计算
div ul li | 0,0,0,3 |
---|---|
.nav ul li | 0,0,1,2 |
a:hover | 0,0,1,1 |
.nav a | 0,0,1,1 |
计算示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* ul li权重 0,0,0,1 + 0,0,0,1=0,0,0,2 */
/*后代选择器 */ ul li{color:red;}
/* 权重li0,0,0,1 */
li{color:yellowgreen;}
/* 权重.nav li 0,0,1,0 +0,0,0,1 = 11 */
.nav li{color:skyblue;}
</style>
</head>
<body>
<ul class="nav">
<li>吃喝玩乐</li>
<li>吃饭碎觉</li>
</ul>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
ul li{color:red;}/*11*/
.pink{color:pink;}/*10*/
/*此时红色改不为pink*/
.nav .pink{color:pink;}
/*可以这样*/
</style>
</head>
<body>
<ul class="nav">
<li class="pink">吃喝玩乐</li>
<li>吃饭碎觉</li>
</ul>
</body>
</html>
六.盒子模型
6.1盒子模型
组成:边框border,内边距padding,外边距margin,实际内容content
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3KZIF98v-1680264227337)(images/1571492529986.png)]
6.1.1 边框:粗细,样式,颜色
复合写法:border: 1px solid red;没有顺序
属性 | 作用 |
---|---|
border-width | 定义边框粗细,单位一般px |
border-style | 边框样式虚线dashed,实线solid,点线dotted |
border-color | 边框颜色 |
实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
div
{
width: 200px;
height: 200px;
border: 1px solid blue;
}
.bian{border-top: 1px solid red;}
</style>
</head>
<body>
<div class="bian">
</div>
</body>
</html>
表格的细线边框
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
table,td{border:1px solid red;}
table{border-collapse: collapse;/*细线边框*/
height: 200px;
text-align: center;
width: 200px;}
</style>
</head>
<body>
<table align="center" cellspacing="0"> /*整个表格居中,并且所有线连在一起*/
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
</tr>
<tr>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td><td>1</td>
</tr><tr1>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td><td>1</td>
</tr1>
</table>
</body>
</html>
6.1.2内边距padding
设置边框与内容之间的距离
值的个数 | 表达意思 |
---|---|
padding:5px; | 上下左右都有5像素内边距 |
padding:5px 10px; | 上下是5像素,左右是10像素 |
padding:5px 10px 20px; | 上是5像素,左右10像素,下20像素 |
padding:5px 10px 20px 30px; | 顺序上右下左 |
4、内边距(padding)
4.1、内边距的使用方式
1、padding 属性用于设置内边距,即边框与内容之间的距离。
2、语法:
合写属性:
分写属性:
4.2、内边距会影响盒子实际大小
1、当我们给盒子指定 padding 值之后,发生了 2 件事情:
- 内容和边框有了距离,添加了内边距。
- padding影响了盒子实际大小。
2、内边距对盒子大小的影响:
- 如果盒子已经有了宽度和高度,此时再指定内边框,会撑大盒子。
- 如何盒子本身没有指定width/height属性, 则此时padding不会撑开盒子大小。
3、解决方案:
如果保证盒子跟效果图大小保持一致,则让 width/height 减去多出来的内边距大小即可。
5、外边距(margin)
5.1、外边距的使用方式
margin 属性用于设置外边距,即控制盒子和盒子之间的距离。
5.2、外边距典型应用
外边距可以让块级盒子水平居中的两个条件:
- 盒子必须指定了宽度(width)。
- 盒子左右的外边距都设置为 auto 。
常见的写法,以下三种都可以:
margin-left: auto; margin-right: auto;
margin: auto;
margin: 0 auto;
注意:以上方法是让块级元素水平居中,行内元素或者行内块元素水平居中给其父元素添加 text-align:center 即可。
5.3、外边距合并
使用 margin 定义块元素的垂直外边距时,可能会出现外边距的合并。
主要有两种情况:
1、相邻块元素垂直外边距的合并
当上下相邻的两个块元素(兄弟关系)相遇时,如果上面的元素有下外边距 margin-bottom,下面的元素有上外边距 margin-top ,则他们之间的垂直间距不是 margin-bottom 与 margin-top 之和。取两个值中的较大者这种现象被称为相邻块元素垂直外边距的合并。
解决方案:
尽量只给一个盒子添加 margin 值。
2、嵌套块元素垂直外边距的塌陷
对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值。
解决方案:
- 可以为父元素定义上边框。
- 可以为父元素定义上内边距。
- 可以为父元素添加 overflow:hidden。
5.4、清除内外边距
网页元素很多都带有默认的内外边距,而且不同浏览器默认的也不一致。因此我们在布局前,首先要清除下网页元素的内外边距。
* {
padding:0; /* 清除内边距 */
margin:0; /* 清除外边距 */
}
注意:行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距。但是转换为块级和行内块元素就可以了
三、PS 基本操作
因为网页美工大部分效果图都是利用 PS(Photoshop)来做的,所以以后我们大部分切图工作都是在 PS 里面完成。
部分操作:
- 文件→打开 :可以打开我们要测量的图片
- Ctrl+R:可以打开标尺,或者 视图→标尺
- 右击标尺,把里面的单位改为像素
- Ctrl+ 加号(+)可以放大视图, Ctrl+ 减号(-)可以缩小视图
- 按住空格键,鼠标可以变成小手,拖动 PS 视图
- 用选区拖动 可以测量大小
- Ctrl+ D 可以取消选区,或者在旁边空白处点击一下也可以取消选区
``css
margin-left: auto; margin-right: auto;
margin: auto;
margin: 0 auto;
注意:以上方法是让块级元素水平居中,行内元素或者行内块元素水平居中给其父元素添加 text-align:center 即可。
#### 5.3、外边距合并
使用 margin 定义块元素的垂直外边距时,可能会出现外边距的合并。
主要有两种情况:
1、相邻块元素垂直外边距的合并
当上下相邻的两个块元素(兄弟关系)相遇时,如果上面的元素有下外边距 margin-bottom,下面的元素有上外边距 margin-top ,则他们之间的垂直间距不是 margin-bottom 与 margin-top 之和。取两个值中的较大者这种现象被称为相邻块元素垂直外边距的合并。
解决方案:
尽量只给一个盒子添加 margin 值。
2、嵌套块元素垂直外边距的塌陷
对于两个嵌套关系(父子关系)的块元素,父元素有上外边距同时子元素也有上外边距,此时父元素会塌陷较大的外边距值。
解决方案:
- 可以为父元素定义上边框。
- 可以为父元素定义上内边距。
- 可以为父元素添加 overflow:hidden。
#### 5.4、清除内外边距
网页元素很多都带有默认的内外边距,而且不同浏览器默认的也不一致。因此我们在布局前,首先要清除下网页元素的内外边距。
```css
* {
padding:0; /* 清除内边距 */
margin:0; /* 清除外边距 */
}
注意:行内元素为了照顾兼容性,尽量只设置左右内外边距,不要设置上下内外边距。但是转换为块级和行内块元素就可以了
三、PS 基本操作
因为网页美工大部分效果图都是利用 PS(Photoshop)来做的,所以以后我们大部分切图工作都是在 PS 里面完成。
部分操作:
- 文件→打开 :可以打开我们要测量的图片
- Ctrl+R:可以打开标尺,或者 视图→标尺
- 右击标尺,把里面的单位改为像素
- Ctrl+ 加号(+)可以放大视图, Ctrl+ 减号(-)可以缩小视图
- 按住空格键,鼠标可以变成小手,拖动 PS 视图
- 用选区拖动 可以测量大小
- Ctrl+ D 可以取消选区,或者在旁边空白处点击一下也可以取消选区