详细分析css float 属性以及position:absolute 的区别

yizhihongxing

详细分析css float 属性以及position:absolute 的区别

CSS Float 属性

CSS Float 属性常用于制作文字环绕效果。设置浮动属性后,元素会跳出常规的文档流,根据浮动元素的宽度,向左或向右移动至其的包含块的边缘,其他内容会填补其旁边的可用空间。使用 Float 属性的元素被称为浮动元素。

Float 常见取值及应用

float 取值:
* left:元素向左浮动
* right:元素向右浮动
* none:元素不浮动

常见应用场景:
1. 图片环绕文字
html
<div style="width: 500px;">
<img src="xxx.jpg" style="float: left; margin: 10px;">
<p style="text-align: justify;">此处为段落文字。</p>
</div>

2. 清除浮动

在浮动布局中,为了防止下一元素影响浮动元素的位置而采用清除浮动。最常用的清除浮动的方式为添加 clear 属性。

```css
.clearfix::after {
    content: "";
    display: table;
    clear: both;
}
```

```html
<div class="clearfix">
    <div style="float: left;">左侧</div>
    <div style="float: right;">右侧</div>
</div>
<div>下方非浮动元素</div>
```

CSS position 属性

CSS position 属性用于指定元素的定位方式。使用 position 属性,可以将元素从文档流中删除,并相对于其父元素或文档的窗口进行定位。

position 属性常见取值及应用

position 取值:
* static:默认值,元素被定义为常规元素,处于文档流中
* relative:元素相对于自身的位置进行定位
* absolute:元素相对于其第一个具有定位方式的祖先元素进行定位
* fixed:元素相对于浏览器窗口进行定位
* sticky:元素在滚动过程中固定在位置

常见应用场景:
1. 固定顶部/底部导航栏

```css
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-color: #f5f5f5;
}
```
  1. 底部信息栏

    css
    .footer {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50px;
    background-color: #f5f5f5;
    }

Float 和 Position 的区别

Float 和 Position 都可以定位元素,但定位方式不同:

Float 定位:
* 将元素从文档流中删除,影响其后面的元素布局
* 过度使用 float 可能会导致代码难以维护

Position 定位:
* 定位方式有多种,可以根据需求选择
* 对其他元素的影响较小,常用于局部定位

综上,Float 和 Position 有各自的特点和适用场景,合理使用可以提高网页布局效果。

示例说明

  1. Float 示例
    html
    <div style="width: 500px;">
    <div style="float: left; width: 200px; height: 200px; background-color: #f5f5f5;"></div>
    <p style="text-align: justify;">此处为段落文字。</p>
    </div>

    上面的代码中,左侧的 div 元素向左浮动,并占据了一部分空间。段落文字则在剩余空间中填充,实现了图片环绕文字的效果。

  2. Position 示例
    html
    <div style="position: relative; width: 500px; height: 300px;">
    <div style="position: absolute; top: 50px; left: 50px; width: 200px; height: 100px; background-color: #f5f5f5;"></div>
    <p style="text-align: justify;">此处为段落文字。</p>
    </div>

    上面的代码中,左侧的 div 元素被设置为相对于其父元素进行定位,左上角定位在 (50, 50) 的位置。段落文字则在其下方填充。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详细分析css float 属性以及position:absolute 的区别 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • CSS背景图拉伸效果兼容FF/Chrome/IE等主流浏览器(亲测)

    首先我们来讲一下如何用CSS实现背景图的拉伸效果,这个效果可以让背景图随着浏览器窗口大小的变化而自动拉伸,从而达到更好地适应不同设备的效果。具体步骤如下: 首先,需要设置html和body元素的高度为100%。这可以通过以下CSS样式实现: html, body { height: 100%; } 这个设置是为了保证后面的背景图能够充满整个窗口。 接下来,需…

    css 2023年6月9日
    00
  • CSS中Font的一些基本知识点归纳总结

    下面是“CSS中Font的一些基本知识点归纳总结”的完整攻略: 一、基本概念 Font 是 CSS 中字体的一种属性,用来控制元素的字体和字号。在 CSS 中,Font 含有以下子属性: Font-family:字体族名称,即字体的种类,默认是浏览器的默认字体。 Font-size:字体大小,可以使用绝对大小和相对大小两种方式,绝对大小如px和pt,相对大小…

    css 2023年6月9日
    00
  • CSS动态渐变色边框围绕内容区域旋转的效果(实例代码)

    CSS动态渐变色边框围绕内容区域旋转的效果是一种非常炫酷的效果,它可以通过CSS的两个属性实现:border-image和animation。 border-image border-image属性用于设置边框的图片,可以用来实现各种复杂的边框效果。它有以下几个属性: source:指定边框图片的URL路径。 slice:指定边框图片的切片方式,可分为属性值…

    css 2023年6月10日
    00
  • 新的CSS 伪类函数 :is() 和 :where()示例详解

    下面是针对“新的CSS 伪类函数 :is() 和 :where()示例详解”的完整攻略: 介绍 在 CSS Level 4 规范中,我们看到了两个新的伪类函数,它们是 :is() 和 :where() ,它们都可以用于过滤选择器,以简化 CSS 选择器的代码。 这两个伪类函数都可以将一个或多个选择器作为参数,并返回与这些选择器匹配的所有元素。 :is() 伪…

    css 2023年6月9日
    00
  • css 空白外边距互相叠加的解决方法

    CSS空白外边距叠加是指当两个或多个元素的边距在垂直方向上相遇时,它们之间的相邻外边距将会合并并仅仅保留两个元素之间的最大高度值。这种合并现象在进行垂直布局时可能会出现问题,导致设计上的限制或错误。以下是两条常用的解决方法: 1. 使用padding代替margin实现元素间的距离 使用padding来代替margin是框模型的一个聪明的技巧,它发生在框上内…

    css 2023年6月9日
    00
  • CSS如何美化被选中的文字

    CSS 可以用来美化被选中的文字,例如更改选中文本的背景颜色、文本颜色等。下面是一个完整攻略,包含了如何使用 CSS 美化被选中的文字的过程和两个示例说明。 CSS 美化被选中的文字 步骤一:使用 ::selection 伪元素 要美化被选中的文字,我们可以使用 ::selection 伪元素。这个伪元素可以用来选择被用户选中的文本。我们可以使用 CSS 属…

    css 2023年5月18日
    00
  • 15个开发者必须知道的chrome技巧

    15个开发者必须知道的Chrome技巧 Google Chrome是最受欢迎的浏览器之一,尤其对于开发者而言更是如此。下面是15个Chrome技巧,可以极大提高开发者的工作效率和生产力: 1. 勾选”disable cache” 在开发阶段,为了避免缓存干扰,开发者通常需要刷新页面来看效果。打开控制台,选中”disable cache”,可以禁止掉浏览器的缓…

    css 2023年6月11日
    00
  • HTML+JS实现经典推箱子游戏

    HTML+JS实现经典推箱子游戏的完整攻略可以分为以下几个步骤: 第一步:设计游戏地图 首先,我们需要设计游戏地图,即游戏界面。游戏界面需要包含若干行若干列的方格,每个方格可以是空白、墙壁、箱子和目标点。我们可以使用HTML+CSS实现游戏界面的布局和样式,如下所示: <div id="game"> <div class…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部