盒子模型、浮动、定位

简介: 盒子模型、浮动、定位

什么是标准流?


就是标签的排列顺序,在标准流中,


  • 块级元素:div,占一行
  • 行内元素:span,有多少占多少 ,上一个接下一个


7534d9cbbb236dc569333f289712443d.png


问:行内元素能变成块级元素吗?


<body>
    <div class="menu">栏目一</div>
    <span class="menu xian">栏目二</span>
    <span class="menu">栏目三</span>
    <span class="title">这是<span>一</span>条新闻标题</span>
</body>
.xian{
    display:block;
}


效果展示:


234169210f0e6edadb246db882fcdf94.png


盒子模型


每个标签就像一个盒子


d74d9142fca6f4c3a9987ecefda80af5.png


  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。


实战


①、设置边框


<body>
    <div class="menu">栏目一</div>
    <span class="menu xian">栏目二</span>
    <span class="menu">栏目三</span>
    <span class="title">这是<span>一</span>条新闻标题</span>
</body>
.menu {
    /*第一种写法:单独设置样式*/
    border-width: 3px;
    border-color: red;
    border-style: solid;
    /*第二种写法:一起设置样式。注意:用空格隔开,不要用逗号*/
    border: 3px solid red;
}


效果展示:


caf03a3f789929408d87847514364ec8.png


②、设置页边距


问:如果两个标签同时设置了页边距,那这两个标签之间的页边距是它们的和吗?


32c8e24977de61cc6eb4430e33c5b3f4.png


<body>
    <div class="menu">栏目一</div>
    <span class="menu xian">栏目二</span>
    <span class="menu">栏目三</span>
    <span class="title">这是<span>一</span>条新闻标题</span>
</body>
.menu {
    border: 3px solid red;   //边框
    margin: 5px;              //页边距
}
.xian {
    display: block;
    margin-top: 30px;
}


结果:会选择最大的那个页边距


071411cba95d823bb2c9a25d7b36da9d.png


③、设置内容


width:60px;   //块宽度
height:100px;   //高度
line-height:50px;     //文字位置(让文本垂直居中)


效果展示:


f9c5a27ee6f93b87a09638cf13840cad.png


浮动:float


<body>
    <div class="menu">栏目一</div>
    <div class="menu xian">栏目二</div>
    <div class="menu">栏目三</div>
    <div class="title">这是<span>一</span>条新闻标题</div>
</body>
.menu {
    border: 3px solid red;
    float: left;     //添加左浮动
    //clear:left(清除浮动)
}


展示效果:


884be380e92446f072f42c1aac1bddb9.png


定位:position


position 属性的五个值:


  • static:没有定位,遵循正常的文档流对象
  • relative:相对定位,相对于原来的位置偏离了多少
  • fixed:元素的位置相对于浏览器窗口是固定位置。
  • absolute:绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>
  • sticky:定位的元素和其他元素重叠


相对定位:


8829a296e1734c50313a33fe4d9592cf.png

相关文章
|
前端开发
CSS布局:浮动 (结构伪类选择器、伪元素、标准流、浮动、清除浮动)
CSS布局:浮动 (结构伪类选择器、伪元素、标准流、浮动、清除浮动)
88 0
|
15天前
|
前端开发
除了伪元素清除法,还有哪些方法可以解决浮动布局的高度塌陷问题
【10月更文挑战第27天】不同的方法适用于不同的场景和布局需求,在实际开发中,需要根据具体情况选择最合适的方法来解决浮动布局的高度塌陷问题。
|
15天前
|
编解码 前端开发
浮动布局
【10月更文挑战第27天】浮动布局在实现多列布局和图文混排等方面具有一定的优势,但也存在高度塌陷和定位控制等缺点。通过合理地选择清除浮动的方式,可以有效地解决浮动布局带来的问题,确保页面布局的稳定和正确显示。
|
15天前
|
前端开发
|
3月前
|
前端开发 容器
cssfloat浮动
cssfloat浮动
30 1
|
3月前
|
前端开发 UED 容器
深入理解定位布局:绝对定位与相对定位
深入理解定位布局:绝对定位与相对定位
|
6月前
|
前端开发 容器
css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解
css样式元素的相对定位,绝对定位,固定定位等元素定位运用技巧详解
|
6月前
浮动和定位
浮动和定位
|
前端开发