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>

目录
相关文章
|
1月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
232 1
|
4月前
|
自然语言处理 前端开发 JavaScript
Playwright系列课(2) | 元素定位四大法宝:CSS/文本/XPath/语义化定位实战指南
本文是Playwright系列第二课,详解元素定位四大核心技术:CSS选择器、文本定位、XPath和语义化定位,结合实战演示各方法应用场景。重点解析Playwright智能定位器(Locator)的独特优势——自动等待与重试机制,通过预检元素可操作性(可见/可点击)有效规避网络延迟导致的脚本失效,显著提升自动化测试稳定性。
|
前端开发
CSS_定位_网页布局总结_元素的显示与隐藏
CSS_定位_网页布局总结_元素的显示与隐藏
96 0
|
5月前
|
存储 自然语言处理 前端开发
抖音快手小红书虚拟评论截图生成器,模拟对话制作工具,html+js+css
这是一款纯前端实现的多平台虚拟评论生成器,支持抖音、快手、小红书风格,适用于产品演示与UI设计。采用Vanilla JS与Flexbox布局,利用IndexedDB存储数据,CSS Variables切换主题。
|
5月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
5月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中
|
5月前
|
前端开发 容器
处方单图片生成器, 处方单在线制作免费,js+css+html恶搞神器
这是一个电子处方模拟生成系统,使用html2canvas库实现图片导出功能。系统生成的处方单包含多重防伪标识,并明确标注为模拟数据,仅供学习
|
5月前
|
前端开发 JavaScript 容器
制作b超单生成器, 假怀孕b超单图片制作, p图医院证明【css+html+js装逼恶搞神器】
本资源提供一个适合用于熟人之间恶搞的工具,效果逼真,仅供学习参考与娱乐。包含前端技术学习要点:语义化布局、响应式设计、Flexbox、图片自适应
|
5月前
|
前端开发
医院检查单子p图软件,在线制作仿真病历,js+css+html装逼神器
本示例展示如何用HTML/CSS创建医疗信息页面,内容仅供学习参考。页面模拟“阳光医院体检中心”场景,提供预约功能验证(如姓名、手机号、日期)。所有数据仅用于演示

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    118
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    138
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    110
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    85
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    208
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    232
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    125
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    61
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    119
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    158