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月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
685 0
|
机器学习/深度学习 前端开发 JavaScript
CSS动画知识点
CSS动画知识点
|
前端开发
CSS 浮动属性讲解和使用
本文介绍了CSS中的浮动(float)属性,包括其基本功能、属性选项及其在网页布局中的应用。浮动使元素脱离文档流,向左或右排列,周围元素随之调整。文章还详细讲解了清除浮动的方法,如使用clear属性、设置父元素高度、利用overflow属性、伪元素等,以解决因浮动导致的布局问题。最后,强调了浮动在创建复杂布局时的作用,并预告后续内容。
581 2
|
前端开发
CSS网页布局综合练习(涵盖大多CSS知识点)
CSS网页布局综合练习(涵盖大多CSS知识点)
|
前端开发
CSS网页布局综合练习(涵盖大多CSS知识点)
CSS网页布局综合练习(涵盖大多CSS知识点)
|
Web App开发 前端开发 JavaScript
「offer来了」1张思维导图,6大知识板块,带你梳理面试中CSS的知识点!
该文章通过一张思维导图和六大知识板块系统梳理了前端面试中涉及的CSS核心知识点,包括CSS框架、基础样式问题、布局技巧、动画处理、浏览器兼容性及性能优化等方面的内容。
|
前端开发
【前端web入门第六天】01 CSS浮动
这是关于CSS布局第六天学习目标的介绍,主要解决多个`&lt;div&gt;`标签在同一行显示的问题,即一个在左边,另一个在右边。文中介绍了标准流、浮动及flex布局的概念,重点推荐使用flex布局。文章详细讲解了浮动的基本使用、布局技巧及清除浮动的方法,包括额外标签法、单伪元素法、双伪元素法和`overflow`隐藏法,并提供了示例代码帮助理解。
315 6
|
前端开发 容器
CSS弹性盒子知识点
CSS弹性盒子知识点
|
前端开发 开发者 容器
【专栏:CSS基础篇】CSS定位与布局:从静态到浮动、定位
【4月更文挑战第30天】本文介绍了CSS定位与布局的基础,包括静态、相对、绝对、固定定位以及浮动。静态定位遵循HTML顺序,相对定位可在正常位置基础上偏移,不占用额外空间。绝对定位基于最近已定位祖先元素定位,脱离文档流。固定定位相对于浏览器窗口定位,无视页面滚动。浮动用于文字环绕图片等,可能导致父元素高度塌陷。Flexbox布局提供更灵活的元素排列和对齐方式,适配各种复杂布局需求。理解并掌握这些布局技术能提升网页设计的灵活性和响应性。
446 0
|
XML 前端开发 JavaScript
CSS中动画、过渡、定位、浮动的作用
CSS中动画、过渡、定位、浮动的作用