赞
踩
布局
文档流简介
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>布局-文档流</title>
- <style>
- /* 块元素 在页面中独占一行
- 默认宽度:是父元素的全部
- 默认宽度:根据内容成长
- */
- .box1{
- width: 100px;
- background-color: yellow;
- }
- .box2{
- width: 100px;
- background-color: red;
- }
- /* 行内元素 不会独占一行,只占自己的大小
- 行内元素在水平上自左向右,一行不够,自动换行
- 默认宽度和高度都是被内容撑开
- */
- span{
- background-color: #bfa;
- }
- </style>
- </head>
- <body>
- <!-- 文档流 网页是一个多层结构
- 通过css可以分别为每一层设置样式
- 作为用户来讲只能看见最顶上的一层
- 我们创建的元素默认都在文档流中进行排序
- 状态 在文档流中
- 不在文档流中(脱离文档流)
- -->
- <div class="box1">我是div1</div>
- <div class="box2">我是div2</div>
-
- <span>我是span 1</span>
- <span>我是span2</span>
- <span>我是span 1</span>
- <span>我是span2</span>
- <span>我是span 1</span>
- <span>我是span2</span>
- <span>我是span 1</span>
- <span>我是span2</span>
- <span>我是span 1</span>
- <span>我是span2</span>
- </body>
- </html>
盒子模型由以下几个部分组成
内容区(content):存放内容
内边距(padding):内容与边框的距离
边框(border):盒子的边界
外边距(margin):盒子与盒子之间的位置
以下是边框的样式设置
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>盒模型</title>
- <style>
- .box1{
- /* 内容区(content):元素中的所有子元素和文本内容的设置都是在内容区排列
- 包含:width: 内容去宽度
- height:内容区的高度*/
- width: 200px;
- height: 200px;
- background-color: #bfa;
- }
- /* 边框(border):属于盒子边缘,边框里边属于盒子内部,出了边框都是盒子的外部
- 设置边框:需要设置三种样式
- 边框的宽度:border-width
- 边框的颜色:border-color
- 边框的样式:border-style
- */
- .box2{
- width: 200px;
- height: 200px;
- background-color: aqua;
- border-width: 10px;
- border-color: red;
- border-style: solid;
- }
- /* border-width:一般为3px
- 语法:上,右,下,左
- 上,左右,下
- 上下,左右*/
- /* border-left-width
- border-top-width
- border-right-width
- border-bottom-width*/
- .box3{
- width: 200px;
- height: 200px;
- background-color: aqua;
- border-width: 10px,20px,3px,10px;
- border-color: red;
- border-style: solid;
-
- }
- /* border-color:语法 与width相同
- border-xxx-color
- 默认使用字体颜色,不设置时*/
- /* border-style:语法 与width相同
- dotted:点状虚线
- solid:实线
- dashed:虚线
- double:双线
- 默认值没有,none*/
- /* 简写:可以同时设置边框的所有样式,没有顺序要求
- border
- border-xxx:存在left、top、bottom、right*/
- .box4{
- width: 100px;
- height: 100px;
- background-color: black;
- border: 3px red solid;
- }
-
- </style>
- </head>
- <body>
- <!-- 盒模型、盒子模型、框模型
- css将页面中的所有元素都设置为一个矩形的盒子
- 布局就是将盒子摆放到合适的位置
- 组成部分
- 内容区(content)
- 内边距(padding)
- 边框(border)
- 外边距(margin)-->
-
- <div class="box1">盒子内容区</div>
- <div class="box2">边框</div>
- <div class="box3"></div>
- <div class="box4"></div>
- </body>
- </html>
内边距的设置
padding:上、右、下、左
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>内边距</title>
- <style>
- .box1{
- width: 200px;
- height: 200px;
- background-color: #bfa;
- border: 3px red solid;
- /*
- 内边距(padding)
- 内容与边框之间的距离
- 一共有四个方向的内边距
- padding-top:
- padding-left:
- padding-bottom:
- padding-right: */
- /* 内边距的设置会影响盒子的大小
- 背景颜色会延申到内边距上 */
- padding-top: 100px;
- padding-left: 100px;
- padding-right: 100px;
- padding-bottom: 100px;
- }
- /* padding: 简写 与border-width写法一样 */
- .inner{
- width: 100%;
- height: 100%;
- background-color: yellow;
- }
- /* 盒子的计算:内容区,内边距,边框共同计算 */
- </style>
- </head>
- <body>
- <div class="box1">
- <div class="inner"></div>
- </div>
- </body>
- </html>
外边距的设置
margin:上、右、下、左
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>外边距</title>
- <style>
- .box1{
- width: 200px;
- height: 200px;
- background-color: #bfa;
- border: 10px red solid;
- /* 外边距(margin)
- 外边距不会影响盒子可见框
- 但是外边距会影响盒子的位置
- 一共有四个方向的外边距
- margin: top;上外边距,设置一个正值,元素会向下移动:
- margin-bottom: 下外边距,设置一个正值,其下边的元素会移动
- margin-left: 左外边距,设置一个正值,元素会向右移动
- margin-right:
- 元素在页面中,自左向右的顺序排列,
- 所以默认情况如果我们设置的左和上外边距,则会移动元素自身
- 而向下和右都会移动其他元素
- 简写:margin: 可以同时设置 上右下左*/
- margin-bottom: 100px;
- margin-left: 100px;
- margin-top: 100px;
- margin-right: 100px;
- }
- .box2{
- width: 220px;
- height: 220px;
- background-color: antiquewhite;
- }
- </style>
- </head>
- <body>
- <div>
- <div class="box1"></div>
- <div class="box2"></div>
- </div>
- </body>
- </html>
水平布局
让盒子居中
常用写法:
width: xxxpx;
margin: 0 auto;
元素水平方向的布局
水平方向的位置,元素在其父元素水平方向的位置由以下几个属性共同决定
margin-left:
border-left:
padding-left:
width:
padding-right:
border-right:
margin-right:
一个元素在其父元素中,水平布局需要满足以下等式
margin-left:+border-left: +padding-left: +padding-right: +border-right: +margin-right
等于父元素内部宽度
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>水平布局</title>
- <style>
- .outer{
- width: 800px;
- height: 200px;
- border: 10px red solid;
- }
- .inner{
- width: auto;
- height: 200px;
- background-color: aqua;
- margin-right: 100px;
- margin-left: 200px;
-
- /* 元素水平方向的布局
- 水平方向的位置,元素在其父元素水平方向的位置由以下几个属性共同决定
- margin-left:
- border-left:
- padding-left:
- width:
- padding-right:
- border-right:
- margin-right:
- 一个元素在其父元素中,水平布局需要满足以下等式
- margin-left:+border-left: +padding-left: +padding-right: +border-right: +margin-right
- 等于父元素内部宽度
- 200+100=800
- 差值margin-right自动增加500
-
- width:
- margin-left
- margin-right:
- 以上三个可以设置为auto
- 三个都是auto时,width最大,
- width固定,左右外边距auto,则两边宽度相同
- 让盒子居中
- 常用写法:
- width: xxxpx;
- margin: 0 auto;*/
- }
- </style>
- </head>
- <body>
- <div class="outer">
- <div class="inner">
-
- </div>
- </div>
- </body>
- </html>
垂直方向布局
利用overflow属性处理溢出现象
可选值:
visbile:默认值
hidden:超出部分会裁剪
scroll:滚动条,观看完整内容
auto:根据需要生成滚动条
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>垂直方向布局</title>
- <style>
- .outer{
- background-color: aqua;
- /* 默认情况下,父元素的高度被内容撑开 */
- }
- .inner{
- width: 100px;
- background-color: olive;
- height: 300px;
- margin-bottom: 100px;
- }
- .box1{
- width: 200px;
- height: 200px;
- background-color: yellow;
- overflow: auto;
- }
- /* 子元素在父元素的内容区中排序
- if子元素的大小大于父元素,则子元素会从父元素中溢出*/
- .box2{
- width: 100px;
- height: 400px;
- background-color: greenyellow;
- }
- /* 利用overflow属性处理溢出现象
- 可选值:
- visbile:默认值
- hidden:超出部分会裁剪
- scroll:滚动条,观看完整内容
- auto:根据需要生成滚动条
- */
- /* overflow-x水平方向处理
- overflow-y垂直方向处理*/
- </style>
- </head>
- <body>
- <!-- <div class="outer">
- <div class="inner">
-
- </div> -->
- <div class="box1">
- <div class="box2"></div>
- </div>
- </div>
- </body>
- </html>
行内元素盒模型
display: 用来设置元素显示的类型
inline:将元素设置为行内元素
block:将元素设置为块元素
inline-block:将元素设置为行内块元素
特点:即可以设置宽度和高度,又不会独占一行
table:将元素设置为一个表格
none:元素不在该页面显示
visibility:用来设置元素的显示状态
visible:默认值,元素在页面中正常显示
hidden:元素在页面中隐藏,不显示,但是依然占据页面的位置
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>行内元素盒模型</title>
- <style>
- /* 行内元素盒模型
- 行内元素不支持宽度和高度
- 可以设置padding,但垂直方向不会影响布局
- 可以设置border,垂直方向的border不会影响页面的布局
- 可以设置margin,垂直方向的margin不会影响布局*/
- .s1{
- background-color: yellow;
- /* padding: 100px; */
-
- /* border: 100px solid red; */
- margin: 100px;
- }
- .box1{
- width: 200px;
- height: 200px;
- background-color: aquamarine;
- }
- a{
- width: 100px;
- height: 100px;
- background-color: orange;
- /* display: 用来设置元素显示的类型
- inline:将元素设置为行内元素
- block:将元素设置为块元素
- inline-block:将元素设置为行内块元素
- 特点:即可以设置宽度和高度,又不会独占一行
- table:将元素设置为一个表格
- none:元素不在该页面显示
- visibility:用来设置元素的显示状态
- visible:默认值,元素在页面中正常显示
- hidden:元素在页面中隐藏,不显示,但是依然占据页面的位置
-
- */
- display: none;
-
- }
- </style>
- </head>
- <body>
- <a href="javescript">超链接</a>
- <span class="s1">我是span</span>
- <div class="box1"></div>
-
- </body>
- </html>
默认样式
默认样式:
浏览器会元素设置一些默认样式
默认样式会影响页面布局
通常情况下,写网页时,必须去除默认样式
margin:0
padding:0
list-style:none(去除项目符号)
赞
踩
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。