Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影二

简介: Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影二

Web网页制作-知识点(4)——CSS盒子模型、弹性盒模型(flex box)、文档流、浮动、清除浮动、定位、圆角、阴影一:https://developer.aliyun.com/article/1531002

overflow清除浮动

如果有父级塌陷,并且同级元素也收到了影响,可以使用overflow清除浮动。

这种情况下,父布局不能设置高度。

<head>
<style>
  .container{
    border:1px solid red;
    width:350px;
    overflow:hidden;
    clear:both;
  }
  .box{
    width:100px;
    height:100px;
    background-color:#fff176;
    float:left;
    margin:5px;
  }
  .nav{
    width:100px;
    height:100px;
    background-color:red;
  }
</style>
</head>
 
<body>
  <div class="container">
      <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
    </div>
    <div class="nav"></div>
</body>

伪对象方式

如果有父级塌陷,并且同级元素也收到了影响,还可以使用伪对象方式处理,为父标签添加伪类after,设置空的内容,并使用clear:both;这种情况下,父布局也不能设置高度。

<head>
<style>
  .container{
    border:1px solid red;
    width:350px;
  }
  .container::after{
    content:"";
    display:block;
    clear:both;
  }
  .box{
    width:100px;
    height:100px;
    background-color:#fff176;
    float:left;
    margin:5px;
  }
  .nav{
    width:100px;
    height:100px;
    background-color:red;
  }
</style>
</head>
 
<body>
  <div class="container">
      <div class="box"></div>
        <div class="box"></div>
        <div class="box"></div>
    </div>
    <div class="nav"></div>
</body>

定位

定义

position属性指定了元素的定位类型。

描述
relative 相对定位
absolute 绝对定位
fixed 固定定位
sticky 黏性定位

其中,绝对定位、固定定位和黏性定位会脱离文档流。

设置定位之后,可以使用四个方向值进行调整位置:left、top、right、bottom。

相对定位

相对于默认位置进行偏移,即定位基点是元素的默认位置。

<head>
<style>
  .box{
    width:200px;
    height:200px;
    background-color:red;
    position:relative;
    left:100px;
  }
</style>
</head>
 
<body>
  <div class="box"></div>
</body>

绝对定位

absolute相对于上级元素(一般是父元素)进行偏移,有一个很重要的限制条件:定位基点不能是static定位(static是position属性的默认值,每个块元素占据自己的区块,元素之间互不重叠),否则定位基点就会变成整个网页的根元素html。

换句话说,absolute要在父元素设置了relative(除了static)的情况下才能使用(“子绝父相”)。

<head>
<style>
  .box1{
    width:200px;
    height:200px;
    background-color:red;
    position:absolute;
    left:50px;
  }
  .box2{
    width:300px;
    height:300px;
    background-color:green;
  }
  .box{
    width:500px;
    height:500px;
    background-color:#F0F;
    position:relative;
    left:100px;
  }
</style>
</head>
 
<body>
  <div class="box">
      <div class="box1"></div>
      <div class="box2"></div>
    </div>
</body>

固定定位

相对于视口(浏览器窗口)进行偏移,基点是浏览器窗口,且不会随着窗口滚动而变化。

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
  .box1{
    width:200px;
    height:200px;
    background-color:red;
    position:fixed;
    left:50px;
  }
  .box2{
    width:300px;
    height:300px;
    background-color:green;
  }
  h3{
    line-height:500px;
  }
</style>
</head>
 
<body>
      <div class="box1"></div>
      <div class="box2"></div>
        <h3>6</h3>
        <h3>6</h3>
        <h3>6</h3>
        <h3>6</h3>
        <h3>6</h3>
</body>

不随滚动而移动,固定在浏览器窗口中。

注意:设置定位之后,相对定位和绝对定位是相对于具有定位的父级元素进行位置调整,如果父级元素不存在定位,则继续向上逐级寻找,直到顶层文档。这就是前面为什么说absolute的定位基点不能是static定位。


黏性定位

相对于视口进行黏性固定,当属性到黏性定位所在位置时就会黏住固定。(此时相当于固定定位的效果)与固定定位不同的是,黏性定位要先到指定的位置再固定,而固定定位一开始就固定。

Z-index

z-index属性设置元素的堆叠顺序。拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。(比较权重的大小,权重大的在顶层。)

<head>
<style>
  .box1{
    width:200px;
    height:200px;
    background-color:red;
    position:absolute;
    z-index:2;
  }
  .box2{
    width:300px;
    height:300px;
    background-color:green;
    position:absolute;
    z-index:1;
  }
</style>
</head>
 
<body>
      <div class="box1"></div>
      <div class="box2"></div>
</body>

CSS3新特性

圆角

使用CSS3border-radius属性,你可以给任何元素制作“圆角”。

border-radius属性,可以使用以下规则:

  1. 四个值:第一个值为左上角,第二个值为右上角,第三个值为右下角,第四个值为左下角
  2. 三个值:第一个值为左上角,第二个值为右上角和左下角,第三个值为右下角
  3. 两个值:第一个值为左上角和右下角,第二个值为右上角与左下角
  4. 一个值:四个圆角值相同
<head>
<style>
  div{
    margin:10px;
  }
  .box1{
    width:200px;
    height:150px;
    background-color:#8AC007;
    padding:20px;
    border-radius:15px 50px 30px 5px;
  }
  .box2{
    width:200px;
    height:150px;
    background-color:#8AC007;
    padding:20px;
    border-radius:15px 50px 30px;
  }
  .box3{
    /*50%与100%的效果一致*/
    border-radius:50%; 
    background:#8AC007;
    padding:20px;
    width:200px;
    height:150px;
  }
</style>
</head>
 
<body>
      <div class="box1"></div>
      <div class="box2"></div>
        <div class="box3"></div>
</body>

阴影

box-shadow向框添加一个或多个阴影。

box-shadow:h-shadow v-shadow blur color;
描述
h-shadow 必选,水平阴影的位置
v-shadow 必选,垂直阴影的位置
blur 可选,模糊距离
color 可选,阴影的颜色
<head>
<style>
  .box{
    width:200px;
    height:200px;
    background-color:#8ac007;
    margin:50px;
    box-shadow:10px 10px green;
  }
</style>
</head>
 
<body>
      <div class="box"></div>
</body>

给阴影加模糊效果

<head>
<style>
  .box{
    width:200px;
    height:200px;
    background-color:#8ac007;
    margin:50px;
    box-shadow:10px 10px 5px green;
  }
</style>
</head>
 
<body>
      <div class="box"></div>
</body>

三个方向的阴影效果

<head>
<style>
  .box{
    width:200px;
    height:200px;
    background-color:#8ac007;
    margin:50px;
    box-shadow:0 10px 30px rgb(0,0,0,.5);
  }
</style>
</head>
 
<body>
      <div class="box"></div>
</body>

目录
相关文章
|
8月前
|
前端开发
如何设置 CSS 盒子模型的边框样式?
CSS盒子模型的边框样式可以通过`border`属性设置,包括边框宽度、样式和颜色。例如:`border: 2px solid red;` 设置了2像素宽的红色实线边框。也可分别设置四边,如`border-top`、`border-right`等。
|
8月前
|
前端开发 开发者
css两种盒子模型
在CSS中,有两种盒子模型:标准盒子模型和IE盒子模型(怪异盒子模型)。标准盒子模型中,`width`和`height`仅指内容区的尺寸,总宽度和高度还包括内边距、边框和外边距。IE盒子模型中,`width`和`height`包括内容区、内边距和边框,总宽度和高度仅加外边距。通过`box-sizing`属性可以切换这两种模型,`box-sizing: content-box;`表示标准盒子模型,`box-sizing: border-box;`表示IE盒子模型。
|
8月前
|
前端开发 容器
给 CSS 盒子模型添加边框时,需要注意什么?
在给CSS盒子模型添加边框时,需要注意边框的宽度、样式和颜色,以及它如何影响盒子的总尺寸和布局。边框会增加盒子的总宽度和高度,可能需要调整其他属性以保持布局的完整性。
|
9月前
|
前端开发
CSS属性:盒子模型
CSS属性:盒子模型
77 0
|
7月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
7月前
|
前端开发
CSS 浮动属性讲解和使用
本文介绍了CSS中的浮动(float)属性,包括其基本功能、属性选项及其在网页布局中的应用。浮动使元素脱离文档流,向左或右排列,周围元素随之调整。文章还详细讲解了清除浮动的方法,如使用clear属性、设置父元素高度、利用overflow属性、伪元素等,以解决因浮动导致的布局问题。最后,强调了浮动在创建复杂布局时的作用,并预告后续内容。
201 2
|
7月前
|
前端开发
CSS 盒子模型
CSS 盒子模型
53 4
|
8月前
|
前端开发
彻底搞懂css盒子模型
【10月更文挑战第1天】
152 9
|
8月前
|
数据可视化 前端开发 搜索推荐
FLEX组件可视化设计器CSS3代码生成器
FLEX组件可视化设计器CSS3代码生成器
124 4
|
9月前
|
前端开发
【前端web入门第六天】01 CSS浮动
这是关于CSS布局第六天学习目标的介绍,主要解决多个`&lt;div&gt;`标签在同一行显示的问题,即一个在左边,另一个在右边。文中介绍了标准流、浮动及flex布局的概念,重点推荐使用flex布局。文章详细讲解了浮动的基本使用、布局技巧及清除浮动的方法,包括额外标签法、单伪元素法、双伪元素法和`overflow`隐藏法,并提供了示例代码帮助理解。
100 6

热门文章

最新文章