css中固定定位和绝对定位有什么区别

固定定位和绝对定位的区别:1、固定定位使用“position: fixed;”样式设置,而绝对定位使用“position: absolute;”样式设置;2、固定定位的偏移基准是屏幕(浏览器视口),而绝对定位的基准则是父级元素。

css中固定定位和绝对定位有什么区别

本教程操作环境:windows7系统、CSS3&&HTML5版、Dell G3电脑。

css中的固定定位

固定定位使用“position: fixed;”设置。

固定定位的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。即被固定的元素不会随着滚动条的拖动而改变位置。在视野中,固定定位的元素的位置是不会改变的。

立即学习“前端免费学习笔记(深入)”;

 top、right、bottom 和 left 属性用于定位此元素。

position:fixed;top:像素值;bottom;像素值;left:像素值;right:像素值;

登录后复制

“position:fixed;”是结合top、bottom、left和right这4个属性一起使用的,其中“position:fixed;”使得元素成为固定定位元素,接着使用top、bottom、left和right这4个属性来设置元素相对浏览器的位置。

top、bottom、left和right这4个属性不一定全部都用到。注意,这4个值的参考对象是浏览器的4条边。

nbsp;html>body{height: 1500px;}header {width: 100%;background-color: #FFC0CB;position: fixed;top: 0;}

网站标题








测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!测试文本!

登录后复制

css中固定定位和绝对定位有什么区别

css中的绝对定位

绝对定位使用“position: absolute;”设置。

在css中,绝对定位是使元素的位置与文档流无关的定位方式。

设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块。默认情况下,绝对定位的位置是相对于浏览器而言,配合top、right、bottom、left进行定位。

元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

绝对定位的元素相对于最近的定位祖先元素进行定位(而不是相对于视口定位,如 fixed)。然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。

下面我们来详细了解一下绝对定位(absolute)。其实绝对定位absolute和浮动float有部分相似性;如果能理解浮动float,对理解绝对定位absolute会大有帮助。

先说absolute和float的相似处:包裹性高度欺骗

包裹性

所谓一图胜千言(唯一的区别是:下图的p增加了absolute)

1.png 

  @@##@@

  @@##@@

登录后复制登录后复制

一旦给元素加上absolute或float就相当于给元素加上了display:block;。什么意思呢?比如内联元素span默认宽度是自适应的,你给其加上width是不起作用的。要想width定宽,你需要将span设成display:block。但如果你给span加上absolute或float,那span的display属性自动就变成block,就可以指定width了。因此如果看到CSS里absolute/float和display:block同时出现,那display:block就是多余的CSS代码。

高度欺骗

上例中给图片外层的p加上absolute,因此高度欺骗未能很好的体现出来,将absolute移到内部图片上,效果就出来了:

css中固定定位和绝对定位有什么区别 

  @@##@@

  @@##@@

登录后复制登录后复制

如果你看过CSS浮动float详解会发现效果是一样的。但其背后的原理其实是有区别的,并不完全相同。加点文字就看出来了:

css中固定定位和绝对定位有什么区别

  @@##@@

  @@##@@  我是一个绝对定位的absolute元素

登录后复制

从图中明显看出文字被图片遮盖了,这点和float不同。float是欺骗父元素,让其父元素误以为其高度塌陷了,但float元素本身仍处于文档流中,文字会环绕着float元素,不会被遮蔽。

但absolute其实已经不能算是欺骗父元素了,而是出现了层级关系。如果处于正常的文档流中的父元素算是凡人的话,那absolute已经得道成仙,用现在的话说已经不在一个次元上。从父元素的视点看,设成absolute的图片已经完全消失不见了,因此从最左边开始显示文字。而absolute的层级高,所以图片遮盖了文字。

记得我刚开始接触CSS尚处于战斗力为5的渣渣时,知道了absolute可以出现层级的概念,就误以为已经彻底懂了,现在想想真是图样图森破(当然这不是件坏事,每当你觉得以前的自己渣像块豆腐渣时,就代表你进步了。反过来总说想当年自己如何如何,那说明你还在吃老本)。

有了上面的基础后,你还需要了解absolute以下特性

如何确定定位点和relative相爱相杀和z-index的关系

减少重绘和回流的开销

固定定位和绝对定位的区别

1、设置方式不同

固定定位使用“position: fixed;”设置。

绝对定位使用“position: absolute;”设置。

2、偏移基准不同

固定定位的偏移基准是屏幕(浏览器窗口),而绝对定位的基准则是父级元素。

而且最好还要注意ie6不兼容固定定位而兼容绝对定位

(学习视频分享:web前端)

2.pngcss中固定定位和绝对定位有什么区别css中固定定位和绝对定位有什么区别3.pngcss中固定定位和绝对定位有什么区别css中固定定位和绝对定位有什么区别

以上就是css中固定定位和绝对定位有什么区别的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2925764.html

(0)
上一篇 2025年3月11日 19:09:45
下一篇 2025年3月2日 15:19:43

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • css在web中的作用是什么

    css在web中的作用:1、CSS为设置元素的样式属性提供了很大的灵活性,可节省大量时间;2、提供了一种简单的方法来更新文档的格式,并保持多个文档之间的一致性;3、减少了文件传输的大小,从而导致了更快的页面加载;4、对网页的布局提供了更好的…

    2025年3月11日
    200
  • css中img不知道宽高怎么实现居中

    3种方法:1、利用text-align属性,给包含img的父元素设置“text-align: center;”即可。2、利用弹性盒布局,给父元素设置“display: flex;justify-content: center;”即可。3、利…

    2025年3月11日 编程技术
    200
  • css怎么实现鼠标经过隐藏显示样式

    在CSS中,可以利用“:hover”选择器和display属性来实现鼠标经过隐藏显示样式;只需要利用“:hover”选择器选择鼠标指针浮动在上面的元素,并给该状态的元素设置“display:none;”样式即可,语法“指定元素:hover …

    2025年3月11日 编程技术
    200
  • HTML/CSS文本输入框有哪些属性

    文本输入框的属性有:1、accept,规定通过文件上传来提交的文件的类型;2、alt,定义图像输入的替代文本;3、disabled,定义禁用状态;4、formaction,规定当表单提交时处理输入控件的文件的URL;5、formtarget…

    2025年3月11日 编程技术
    200
  • id属于html吗

    id属于html。id是html中的一个全局属性,可以用来配置所有元素共有行为、可以用在任何一个元素身上。id属性用于赋予某个标签唯一的名称(标识符),当使用CSS或者JavaScript来操作这个标签时,就可以通过id属性来找到这个标签。…

    2025年3月11日
    200
  • “+”是什么css选择器

    在css中,“+”是相邻兄弟元素选择器,用于选择紧接在另外一元素后的元素,并且它们具备一个相同的父元素;换句话说,E和F两元素具备一个相同的父元素,并且F元素在E元素后面且相邻,这样就可使用相邻兄弟元素选择器来选择F元素,语法“E + F”…

    2025年3月11日 编程技术
    200
  • react怎么改变css样式

    react改变css样式的方法:1、动态添加class,代码如“handleshow() {this.setState({display:true})}…”;2、动态添加一个style,代码如“class Demo extend…

    2025年3月11日
    200
  • react 怎么改变css样式

    react改变css样式的方法:1、动态添加一个class来改变样式,代码如“”;2、动态添加一个style来改变样式,代码如“”。 本教程操作环境:Windows10系统、react18.0.0版、Dell G3电脑。 react 怎么改…

    2025年3月11日
    200
  • react引入css没有效果怎么办

    react引入css没有效果是因为webpack配置“css/less”文件的loader时,默认不开启模块化,这种模块化方式引入需要更改下webpack的loader配置,修改内容为“modules:true”即可。 本教程操作环境:Wi…

    2025年3月11日 编程技术
    200
  • react不能解析css怎么办

    react不能解析css是因为webpack配置“css/less”文件的loader时,默认不开启模块化或者是由于引入方法不对导致的,其解决办法:1、更改下webpack的loader配置;2、在“index.css”文件中通过“@imp…

    2025年3月11日 编程技术
    200

发表回复

登录后才能评论