css中fixed,css中fixed1

http://www.itjxue.com  2023-01-16 00:34  来源:未知  点击次数: 

css样式中的fixed固定定位,是不是不受支持

position属性有:固定(fixed)、相对(relative)、 绝对(absolute)、默认(static)。代码:position:fixed,position:relative,position:absolute,position:static。例:div style="position:fixed;height:50px;width:50px;background:#f00;left:50px;top:50px;"/div这个代码显示出在浏览器的样式是 50x50 像素的一个正方形框,它的位置是在浏览器的左上 离左边50像素,离顶部50像素的地方。设置了定位方式的话就需要设置左右上下的浮动位置。设置为浏览器默认的就不要具体定位。 追问: 问题是position:fixed作了这样的敲定后,当浏览器拖动窗口时,该层并没有跟随窗口游走,能进一步解释吗 回答: 是这样的。position:fixed 固定定位是让某一元素固定在屏幕的某个位置,不会随窗口移动的。具体的我不知道你需要什么样的效果,你可以尝试使用其他样式。

css 中position: fixed;是什么意思?

position:

fixed用于生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过

"left",

"top",

"right"

以及

"bottom"

属性进行规定。

position

属性规定元素的定位类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。

absolute

生成绝对定位的元素,相对于

static

定位以外的第一个父元素进行定位。

元素的位置通过

"left",

"top",

"right"

以及

"bottom"

属性进行规定。

fixed

生成绝对定位的元素,相对于浏览器窗口进行定位。

元素的位置通过

"left",

"top",

"right"

以及

"bottom"

属性进行规定。

relative

生成相对定位的元素,相对于其正常位置进行定位。

因此,"left:20"

会向元素的

LEFT

位置添加

20

像素。

static

默认值。没有定位,元素出现在正常的流中(忽略

top,

bottom,

left,

right

或者

z-index

声明)。

inherit

规定应该从父元素继承

position

属性的值。

在css中如何正确使用fixed

我们经常碰到的需求是希望页面某个元素固定在浏览器的一个位置,无论如何滚动滚动条,位置不变,就例如经常看到的弹出广告。方法一般是使用js控制,或者使用css。这里我写的是css的控制方法。

在IE7以上版本及firefox、opera、safari里,都支持css属性"position:fixed",它的作用就是将元素相对于窗口固定位置。代码如下

#ads{

????position:fixed;

????right:0;

????bottom:0;

????border:1px?solid?red;

????width:300px;

????height:250px;

}

我们定义一个#ads的id样式,并给他设了高度宽度,通过position:fixed以及right、bottom将元素定位在窗口右下角。

但是在IE6下,并不支持position:fixed属性,这个时候我们需要对IE6进行hack处理。解决的方案是使用postion:absolute属性,它的作用大家都很熟悉,相对于父元素进行绝对定位,然后我们可以通过expression来改变#ads的top值。

PS?expression的定义:IE5及其以后版本支持在CSS中使用expression,用来把CSS属性和Javas?cript表达式关联起来,这里的CSS属性可以是元素固有的属性,也可以是自定义属性。就是说CSS属性后面可以是一段Javas?cript表达式,CSS属性的值等于Javas?cript表达式计算的结果。?在表达式中可以直接引用元素自身的属性和方法,也可以使用其他浏览器对象。这个表达式就好像是在这个元素的一个成员函数中一样。

所以我们可以通过在css里计算javascript值来改变top值,代码如下:

#ads{

????_position:absolute;

????_top:expression(documentElement.scrollTop?+?documentElement.clientHeight-this.offsetHeight);

}

似乎一切都完美了,但是我们在IE6下运行的时候会发现,随着滚动条的移动,我们的这个#ads朋友他会抖动。解决方法也很简单,只要在body里加一点点的css,如下:

body{

????background-image:url(about:blank);?/*?for?IE6?*/?

????background-attachment:fixed;?/*必须*/

}

PS:原本使用的是"url(text.txt)",但是txt这个是不存在的,http请求报404错误,导致影响加载速度,参考了网上的一些写法,使用about:blank可以达到相同目的。

原理据说是ie6不支持fixed?而其样式背景却支持fixed,通过背景来此消彼长消除抖动

body{

????background-image:url(about:blank);?/*?for?IE6?*/?

????background-attachment:fixed;?/*必须*/

}

#ads{

????width:300px;

????height:250px;

????position:fixed;

????right:0;

????bottom:0;

????_position:absolute;

????_top:expression(documentElement.scrollTop?+?documentElement.clientHeight-this.offsetHeight);

????border:1px?solid?red;

}

需要注意的是IE6可不支持fixed,一般用_position:absolute加js来代替fixed的实现

css中定位中的fixed是什么意思?

用Div+CSS进行网站布局时,做一些浮动层等特殊特殊效果时要考虑到定位问题。这就要用到Position属性等。

Position属性有四个值:static、fixed、absolute和relative,

后面两个在布局中的定位里是经常用到的,顾名思义,

absolute是指绝对定位,即将对象从文档流中拖出,使用left,right,top,bottom等属性进行绝对定位,而其层叠通过z-index属性定义。此时对象不具有边距,但仍有补白和边框。

ralative是指相对定位,就是依据left,right,top,bottom等属性在正常文档流中偏移位置。

但是,怎么个绝对法,又怎么个相对法呢?

以前我一直没有仔细去研究它,到具体应用时有时会有点迷糊,我相信很多朋友也会有这样的问题。今天我特意测试了一下,得出了以下结论:

1、当Position属性值为Relative时对象原来占有的位置保留,其后面的对象按原来文档流仍然保持原来的位置Top的值表示对象相对原位置向下偏移的距离bottom的值表示对象相对原位置向上偏移的距离两者同时存在时,只有Top起作用。left的值表示对象相对原位置向右偏移的距离right的值表示对象相对原位置向左偏移的距离两者同时存在时,只有left起作用。

2、当Position属性值为absolute时对象从文档流中抽取出来,原占有的位置被后面的对象顶替上来Top的值表示对象上边框与浏览器窗口顶部的距离bottom的值表示对象下边框与浏览器窗口底部的距离两者同时存在时,只有Top起作用;如果两者都未指定,则其顶端将与原文档流位置一致,即垂直保持位置不变。left的值表示对象左边框与浏览器窗口左边的距离right的值表示对象右边框与浏览器窗口右边的距离两者同时存在时,只有left起作用;如果两者都未指定,则其左边将与原文档流位置一致,即水平保持位置不变。

在Position属性值为absolute的同时,如果有一级父对象(无论是父对象还是祖父对象,或者再高的辈分,一样)的Position属性值为Relative时,则上述的相对浏览器窗口定位将会变成相对父对象定位,这对精确定位是很有帮助的。

CSS 中 fixed 元素为什么会遮盖滚动条?

这两个滚动条不是同一个元素的滚动条,第一个是那个绝对定位的div的滚动条,第二个则是body的滚动条。从它们的黑色框线就能看出来区别啊。所以第二张图的蓝色框当然不会覆盖滚动条啊,因为那是body的滚动条。

而第一张图蓝色框覆盖滚动条很容易理解啊,定位元素是脱离文档流的,它们之间的前后关系是由z-index属性来决定的(如果z-index相同则按物理顺序),与它们物理上的包含(或者说父子)关系无关,而滚动条也是元素的组成部分,要覆盖那肯定是连滚动条也一起覆盖的,否则效果就会不伦不类的。

css中position的fixed属性使用

说明:fixed是以body为定位时的对象,总是根据浏览器的窗口来进行元素定位,通过"left""top""right""bottom“来进行定位

用法:

效果

此时拉动浏览器的上下滚条,层2在浏览器中的位置都不会发生变化

(责任编辑:IT教学网)

更多

推荐安全技术文章