CSS布局的三种方式

简介: CSS布局的三种方式:1.绝对定位 2.相对定位 3.浮动

绝对定位

绝对定位:
​ 属性:position 值:absolute

<style>
p.abs{
  position: absolute;
  left: 150px;
  top: 50px;
}
 
</style>
 
<p >正常文字1</p>
<p >正常文字2</p>
<p class="abs" >绝对定位的文字3</p>
<p >正常文字4</p>
<p >正常文字5</p>

在这里插入图片描述
说明:设置了绝对定位的元素,相当于该元素被从原文档中删除了,所以“正常文字4”会紧接着出现。

==绝对定位是基于最近的一个定位了的父容器==
如果没有定位的div容器,默认是body

<style>
    p.abs{
         position: absolute;
         left: 550px;
         top: 0;
     }
 </style>

 <div style="position: absolute;width: 700px;">
      <p >正常文字1</p>
      <p >正常文字2</p>
      <p class="abs" >绝对定位的文字3</p>
      <p >正常文字4</p>
      <p >正常文字5</p>
  </div>

在这里插入图片描述
z-index

通过绝对定位可以把一个元素放在另一个元素上,这样位置就会重复,会存在一个谁掩盖谁的问题
z-index属性, 当z-index的值越大,就表示放上面,z-index:越小就表示放下面。

相对定位

属性:position
值: relative

与绝对定位不同的是,相对定位不会把该元素从原文档删除掉,而是在原文档的位置的基础上,移动一定的距离

<style>
p.r{
  position: relative;
  left: 150px;
  top: 50px;
}
  
</style>
  
<p >正常文字1</p>
<p >正常文字2</p>
<p class="r" >相对定位的文字3</p>
<p >正常文字4</p>
<p >正常文字5</p>

在这里插入图片描述

浮动

属性:float
值: left,right
==可以用于文字环绕图片的效果==

  1. 左侧固定,右侧自动占满
<style>
 .left{
   width:200px;
   float:left;
   background-color:pink
  }
  .right{
    overflow:hidden;
    background-color:lightskyblue;
  }
</style>
 
<div class="left">左边固定宽度</div>
 
<div class="right">右边自动填满</div>

在这里插入图片描述

  1. 左右固定,中间自适应
<style>
  .left{
      width:200px;
      float:left;
      background-color:pink
    }
    .right{
      width:200px;
      float:right;
      background-color:pink
     }
   .center {overflow:hidden;   background-color:lightblue
</style>
                     
  <div class="left">左边固定宽度</div>
  <div class="right">右边固定宽度</div>
  <div class="center">中间自适应</div>

在这里插入图片描述

  1. 贴在下方
<style>
                    #div1 {
                        position: relative;
                        height: 300px;
                        width: 90%;
                        background-color: skyblue;
                    }
                    #div2{
                        position: absolute;
                        bottom: 0;
                        height: 30px;
                        width: 98%;
                        background-color: lightgreen;
                    }
                    </style>
                     
                    <div id="div1">
                        <div id="div2"> 无论蓝色div高度如何变化,绿色div都会贴在下面
                        </div>
                    </div>

在这里插入图片描述

目录
相关文章
|
16天前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
46 8
|
6天前
|
前端开发
CSS Grid 布局:span 关键字
CSS Grid 布局:span 关键字
16 0
|
8天前
|
前端开发 容器
css中弹性布局使用方法
css中弹性布局使用方法
17 0
|
8天前
|
编解码 前端开发 容器
CSS弹性布局:打造响应式与灵活的网页设计
CSS弹性布局:打造响应式与灵活的网页设计
19 0
|
1月前
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
1月前
|
前端开发
css 十字分割线(含四等分布局)
css 十字分割线(含四等分布局)
28 2
|
1月前
|
移动开发 前端开发 HTML5
CSS 【实战】 “四合院”布局
CSS 【实战】 “四合院”布局
25 0
CSS 【实战】 “四合院”布局
|
1月前
|
编解码 前端开发 C++
CSS【详解】布局 display ( 含 flex 布局,grid 布局,table 布局,float 布局,响应式布局 等)
CSS【详解】布局 display ( 含 flex 布局,grid 布局,table 布局,float 布局,响应式布局 等)
70 0
|
1月前
|
前端开发
CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
CSS 自测题 -- 用 flex 布局绘制骰子(一、二、三【含斜三点】、四、五、六点)
16 0
|
1月前
|
前端开发 C++ 容器
css【详解】—— 圣杯布局 vs 双飞翼布局 (含手写清除浮动 clearfix)
css【详解】—— 圣杯布局 vs 双飞翼布局 (含手写清除浮动 clearfix)
31 0