`
tntxia
  • 浏览: 1510850 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

使用CSS定位元素

阅读更多

 

一、定位的基本概念

 

一般我们定位元素都使用绝对定位,因为绝对定位是最容易掌握的定位方式。但结合其他定位方式,我们可以设计更加灵活的页面。

 

CSS控制定位的属性为:Position

 

CSS中关于定位(position)是这样定义的:
  定位(position):允许用户精确定义元素框出现的相对位置,可以相对于它通常出现的位置,相对于其上级元素,相对于另一个元素,或者相对于浏览器视窗本身。每个显示元素都可以用定位的方法来描述,而其位置由此元素的包含块来决定的。

 

他的允许值有三个:static,relative和absolute

 

static为默认属性。relative为相对定位,absolute为绝对定位。

 

static :        默认值。无特殊定位,对象遵循HTML定位规则
absolute:      将对象从文档流中拖出,使用 left , right , top , bottom     

                     等属性相对于其最接近的一个最有定位设置的父对象进行绝对定位。

                     如果不存  在这样的父对象,则依据 body 对象。而其层叠通过         

                     z-index 属性定义 fixed :  未支持。对象定位遵从绝对(absolute)方式。但是要遵守一些规范

relative :      对象不可层叠,但将依据 left , right , top , bottom 等属性在正常文档流中偏移位置

 

 

检索对象的定位方式。设置此属性值为 absolute 会将对象拖离出正常的文档流绝对定位而不考虑它周围内容的布局。假如其他具有不同 z-index 属性的对象已经占据了给定的位置,他们之间不会相互影响,而会在同一位置层叠。此时对象不具有外补丁( margin ),但仍有内补丁( padding )和边框( border )

 

要激活对象的绝对(absolute)定位,必须指定 left right top bottom 属性中的至少一个,并且设置此属性值为 absolute 。否则上述属性会使用他们的默认值 auto ,这将导致对象遵从正常的HTML布局规则,在前一个对象之后立即被呈递。设置此属性值为 relative 会保持对象在正常的HTML流中,但是它的位置可以根据它的前一个对象进行偏移。在相对(relative)定位对象之后的文本或对象占有他们自己的空间而不会覆盖被定位对象的自然空间。与此不同的,在绝对(absolute)定位对象之后的文本或对象在被定位对象被拖离正常文档流之前会占有它的自然空间。放置绝对(absolute)定位对象在可视区域之外会导致滚动条出现。而放置相对(relative)定位对象在可视区域之外,滚动条不会出现。内容的尺寸会根据布局确定对象的尺寸。例如,设置一个 div 对象的 height position 属性,则 div 对象的内容将决定它的宽度( width )。此属性对于 currentStyle 对象而言是只读的。对于其他对象而言是可读写的。对应的脚本特性为 position

 

 

二、各种定位区别

 

1. 相对定位

相对定位是一个非常容易理解的概念,如果对一个元素进行相对定位,它将在他所在的位置上,然后可以通过设置垂直和水平的位置,让这个元素‘相对于’起点进行移动,如果将top 设置为20px,那么框就会出现在原位置顶部下面20px的地方,如果将left 设置为20px 那么框就会向右移动20px

 

#mybox{ Position:relative; Top:20px; Left:20px; }


 

 

如下图:

 

 

 

 

使用相对定位时,无论是否进行移动,元素仍然占据原来的空间,因此移动元素会导致它覆盖其他框。

 

2.绝对定位

相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。与之相反,绝对定位使元素的位置与文档流无关,因此不占据空间。普通文档流中其他元素的布局就像绝对定位的元素不存在时一样。

 

把相对定位中的代码改成absolute

则会变成这样:

 

 

 

 

 

绝对元素的位置相对于最近已定位的祖先元素。如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。根据用户代理的不同,最初的包含块。根据代理的不同可能是画布或HTML

与相对定位的框一样,绝对定位的框可以从它的包含块向上,下左,右移动。这提供了很大的灵活性。可以直接将元素定位在页面上的任何位置。

 

 

因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素,可以通过设置z-index属性来控制这些框的堆放次序。Z-index值越高,框在堆中的位置就越高。

 

 

 

 

  • 大小: 4.3 KB
  • 大小: 4.1 KB
分享到:
评论

相关推荐

    CSS定位元素的综合实例应用

    /*用绝对定位抽离正常文本流,不然在设计的时候考虑到不同浏览器正常显示会更麻烦*/ top:5px;/*这里的5px是与信息面板大盒子的填充一样的*/ left:5px; } dl { width: 160px; float:right; color: #999; line-...

    css元素常见定位应用.html

    对定位属性值进行详解,和...在本文中,任何一个元素都被文本流所限制了自身的位置,但是通过CSS我们依然使得这些元素可以改变自己的位置,我们可以通过float来让元素浮动,我们也可以通过margin来让元素产生位置移动。

    前端css定位.pdf

    绝对定位元素经常与“子绝父相”的技术搭配使用,即子元素使用绝对定位,父元素使用相对定位,以此来精确控制子元素的位置。 固定定位与绝对定位类似,不同之处在于它是相对于浏览器窗口进行定位的。这意味着一旦...

    详解css定位与定位应用

    ### 详解CSS定位与定位应用 #### CSS定位概述 定位技术是Web开发中不可或缺的一部分,尤其是在页面布局的设计过程中。良好的定位技巧能够帮助开发者构建出既美观又实用的网站界面。CSS提供了多种定位方式,包括...

    css定位绝对相对定位

    相对定位是一种常见的CSS定位方式,它允许元素相对于其正常位置进行偏移。这种定位不会影响其他元素的位置。 - **定义**: 当元素设置了`position: relative;`后,该元素将根据自身的初始位置进行偏移。如果指定了`...

    html+css定位练习

    同时,配合使用`top`, `bottom`, `left`, 和 `right` 属性,可以进一步调整定位元素的距离。 例如,一个相对定位的元素可以这样设置: ```css .myElement { position: relative; top: 20px; left: 30px; } ``` ...

    [CSS] 用伪元素:after实现分割线和气泡

    `:after`是CSS中的一个伪元素选择器,用于在元素内容之后插入内容。本话题将深入探讨如何利用`:after`伪元素来实现分割线和气泡效果。 首先,让我们理解`:after`的基本语法。`:after`伪元素紧跟在选择器后面,然后...

    借助css定位实现动态关联的一个例子

    本话题主要关注如何利用CSS定位技术实现动态关联的效果,这对于网页设计和前端开发至关重要。下面将详细阐述CSS定位的基本概念、常见定位方式以及如何应用它们来创建动态关联效果。 首先,了解CSS定位的基本概念。...

    绝对定位元素被遮挡的解决方法

    总之,解决绝对定位元素被遮挡的问题,关键在于正确使用z-index属性,并结合其他CSS属性全面考虑元素间的布局关系。通过这些方法,可以确保绝对定位元素在复杂的页面中也能正确显示,提升用户的交互体验。希望这些...

    CSS 定位网页元素.pdf

    在网页设计中,CSS(Cascading Style Sheets)定位是至关重要的一个方面,它允许开发者精确控制网页元素在页面上的布局。本篇文章将详细讲解CSS中的五个定位属性:`static`、`relative`、`absolute`、`fixed`以及`...

    什么是css定位?css定位怎么使用.docx

    /* 设置为相对定位,以便于内部元素使用绝对定位 */ } .content { /* 添加更多样式以美化内容区域 */ } .fixed { position: fixed; /* 关键点:使用固定定位 */ top: 0; /* 距离顶部的距离 */ right: 0; ...

    CSS元素定位详解与实战应用

    适用人群:具有一定Web前端基础知识的开发者,特别适用于那些需要深入理解和熟练应用CSS定位机制的设计与开发人员。 使用场景及目标:本材料旨在提升使用者对CSS不同定位技术的认识,并能在复杂页面布局任务时快速...

    css-绝对定位的参考对象

    在CSS中,我们使用`top`、`right`、`bottom`和`left`属性来调整绝对定位元素的位置。这些属性的值可以是像素、百分比或其他长度单位,它们表示元素与参考对象边界的距离。 例如: ```css .parent { position: ...

    div+css 定位浅析

    在使用CSS定位时,还需要注意`z-index`属性,它用于决定在同一层次上的多个定位元素的堆叠顺序。具有更高`z-index`值的元素会覆盖`z-index`较低的元素。 综上所述,CSS定位是网页布局的核心技术,熟练掌握这四种...

    CSS教程——元素定位

    CSS 元素定位教程 一、什么是 CSS 元素定位? CSS 元素定位是指在 HTML 文档中对元素的位置进行控制和设置的过程。通过使用 position 属性,可以将元素定位到特定的位置,以实现布局和设计的需求。 二、position ...

    css图片定位

    在网页设计中,CSS(Cascading Style Sheets)图片定位是一项关键技能,它允许开发者精确地控制图像在页面上的位置,以实现丰富的视觉效果。本文将深入探讨CSS图片定位的概念、方法以及一些实用工具。 首先,理解...

    使用css3实现动态效果

    1.需要对网页进行设计,可以使用传统的div+css设计,里面的元素可以使用position定位,或者float定位,或者flex布局。 2.需要使用css3中的至少两种效果,并且用到css3的地方请注释,例如阴影效果,动画效果,2D转换...

    CSS+Js定位与相对定位

    CSS定位主要包括静态定位、相对定位、绝对定位、固定定位和粘性定位。其中,相对定位是基础,它允许元素相对于其原始位置进行偏移,但不会改变文档流。相对定位的CSS代码通常写作: ```css .element { position: ...

    1.05 css定位布局

    当父元素使用相对定位,子元素使用绝对定位后,这样子元素的位置不在浏览器左上角,而是相对于父容器左上角。 #### 5.1.5 z-index 当多个元素添加绝对定位,元素将会叠加在一起,使用 z-index 可以设置元素显示的...

Global site tag (gtag.js) - Google Analytics