CSS
2019-02-17 01:49:08来源:博客园 阅读 ()
盒模型
- content-box (W3C 标准盒模型)
- border-box (IE 盒模型)
具体区别是:
1. border-box的宽度一旦确定,就不会改变。width = border + padding + 内容的宽度
2. content-box会根据padding增加或者是减小。width = 内容的宽度
BFC
就是一个容器,里外不相互影响,记住:清除浮动的时候,如果使用 overflow: hidden,是存在缺点的,如果超过了范围,那么则被隐藏了
触发原理
1 根元素
2 float属性不为none,例如left、right
3 position为absolute或fixed
4 display为inline-block, table-cell, table-caption, flex, inline-flex
5 overflow不为visible,例如hidden、auto
规则
1. 内部的Box会在垂直方向,一个接一个地放置。
2. 属于同一个BFC的两个相邻Box的margin会发生重叠。
3. BFC的区域不会与float box重叠。
4. BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素
5. 计算BFC的高度时,浮动元素也参与计算
作用
1. 清除浮动,BFC里面的浮动元素高度也会参与计算
2. 防止margin重叠
清除浮动
.clearfix:after{
content: '',
height: 0;
display: block;
visibility: hidden;
clear: both;
line-height:0;//行高为0
}
布局
浮动布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
}
.left {
float: left;
width: 300px;
height: 100px;
background-color: red;
}
.right {
float: right;
width: 300px;
height: 100px;
background-color: blue;
}
.center {
margin: 0px 300px 0px 300px;
background-color: black;
height: 100px;
}
</style>
</head>
<body>
<div class="father">
<div class="left">1</div>
<div class="right">2</div>
<div class="center">3</div>
</div>
</body>
</html>
缺点:会存在塌陷的问题
Flex布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
.father {
display: flex;
}
.left {
width: 300px
height: 100px;
background-color: red;
}
.center {
flex:1;
height: 100px;
background-color: black;
}
.right {
width: 300px;
height: 100px;
background-color: blue;
}
</style>
</head>
<body>
<div class="father">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
</body>
</html>
绝对定位
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
}
.left {
position: absolute;
left:0px;
left: 300px;
height: 100px;
background-color: red;
}
.right {
position: absolute;
right:0px;
width: 300px;
height: 100px;
background-color: blue;
}
.center {
position: absolute;
left:300px;
right:300px;
background-color: black;
height: 100px;
}
</style>
</head>
<body>
<div class="father">
<div class="left">1</div>
<div class="center">2</div>
<div class="right">3</div>
</div>
</body>
</html>
CSS优化
(1)压缩
(2)属性连写: font :font-style font-weight font-size
(3)继承:font clolr
(4) CSS放入Head中,减少reflow repaint
居中布局
1. 水平居中
行内元素: text-align: center
块级元素: margin: 0 auto
absolute + transform
flex + justify-content: center
2. 垂直居中
line-height: height
absolute + transform
flex + align-items: center
table
优先级
!important > 行内样式 > #id > .class > tag > * > 继承 > 默认
原文链接:https://www.cnblogs.com/liruijia/p/CSS.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- DIV居中的经典方法 2020-06-13
- CSS中的float和margin的混合使用 2020-06-11
- Html/css 列表项 区分列表首尾 2020-06-11
- css与javascript重难点,学前端,基础不好一切白费! 2020-06-11
- ie8下透明度处理 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash