2)对于块状元素,你可以自由的使用外边距来定义版式和元素之间的距离。类似 DIV 等等,
3)无论什么元素,一旦设置为是浮动显示,就拥有了完整的盒模型结构,我们就可以使用外边距,内边距,边框,高和宽来控制的大小以及与其他对象之间的位置关系。
4)浮动是从网页布局的角度来定义元素的显示,而行内和块状属性主要是从元素自身的性质来定其显示的。
5)当元素没有定义边框时,可以把内边距作为外边距使用。有时候外边距会有重叠现象的。
6)当为元素定义背景图像时,内边距区域内可以显示背景图像,而对外边距区域来说,背景图像是达不到的,他永远都是透明状态
7)用div+css设计网页结构时,设计师满脑子都是网页内容,而非内容所呈现的效果。
8)块状元素:不管块状元素宽度是多少,他总会自动占据一行,因为在他末尾附加了一个换行符,而行内元素没有这个特点。块状元素有完整的盒模型结构,可以定义宽度和高度,而行内元素没有这个特性,无法通过高度来改变文本行的行高。
块元素的代表标记 div
行内元素的代表标记 span ,行内标记不具备组织结构框架
9)网页布局分为:自然布局,浮动布局, 定位布局
10)当一个元素被定义为浮动显示时,即定义为块状元素。并且该元素就会收缩自身体积为最小状态。所以,应该有个好的习惯即把浮动元素设置高和宽。如果没有设置,则元素会按照它所包含的内容大小来确定它的大小。
11)当元素浮动后,周边的对象会自动环绕浮动元素周围,形成一种环绕关系。
12)块状元素之间的外边距会有重叠现象,但是浮动元素之间的外边距不会发声重叠现象。
13)浮动元素移动,上移:margin-top:-**下移:margin-botom:-*px,其他以此类推。
14)一般定位元素(绝对或是相对元素)都会覆盖在文档流对象之上。但是,select元素的窗口控件还不完全支持z-index
15)在css定位布局中,一般遵循“外部相对定位,内部绝对定位”
16)在body中设置min-width:760px,可以避免布局重叠现象。
先给你写一套代码,之后再来解释哈。
css部分:
.aa {display: flex //使用flex布局,可以轻易获得水平布局
align-items: center //垂直方向居中
justify-content: center //水平方向居中
height: 200px
border: 1px solid #000
}
.aa1, .aa2, .aa3 {
flex: 1
padding: 2px
height: 100px
}
.aa1 div, .aa2 div, .aa3 div {
width: 80%
height: 100px
}
.aa1 div {
background-color: red
}
.aa2 div {
background-color: green
}
.aa3 div {
background-color: blue
}
html部分:
<div class="aa"> //flex的容器外框
<div class="aa1"><div style="width: 100%">内容1</div></div>
<div class="aa2"><div style="width: 100%">内容2</div></div>
<div class="aa3"><div style="width: 100%">内容3</div></div>
</div>
效果如图:
垂直和水平居中都是相对于外框来说的,即本例的aa来说的。flex=1即为在水平方向是等分布局的。在你给的安例中,直接循环aa就可以。如果对flex不懂,可以去学习一下,推荐扩展链接:网页链接
实现网页布局的方式方法比较多,布局方式可以大概分为这几类。布局种类:
1、table布局(网页的兴起,1995)
2、Flash布局(自由的黄金时代,1996)
3、div+css(CSS的诞生,1998)
4、栅格与响应式(移动端的兴起,2007与2010)
当前WEB前端开发使用DIV+CSS的布局方式会比较多也比较常用吧,网页布局看起来貌似简单,但是它需要综合使用很多HTML+CSS的知识,总的来说知识量是不小。如果想系统化的了解HTML+CSS方面的知识,建议你选择一本比较不错的HTML5相关书籍(主要看知识逻辑、知识的表达方式,比如《HTML5布局之路》)进行学习,让自己的知识更扎实一些,不然学的零零散散的。
Tips:学习好HTML+CSS有利于后面学习JavaScript,毕竟需要它们两者结合在一起才可以实现出可交互的前端页面。