这篇文章主要介绍html定位的方式有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
html定位有:1、默认定位,static;2、相对定位,relative;3、绝对定位,absolute;4、混合相对定位和绝对定位,relative&&absolute;5、固定定位,fixed;6、浮动,float。
本教程操作环境:windows7系统、html&&HTML5版、Dell G3电脑。
当你没有为一个元素(例如p)指定定位方式时,默认为static,也就是按照文档的流式(flow)定位,将元素放到一个合适的地方。所以在不同的分辨率下,采用流式定位能很好的自适合,取得相对较好的布局效果。
一般来说,我们不需要指明当前元素的定位方式是static——因为这是默认的定位方式。除非你想覆盖从父元素继承来的定位系统。
在static的基础上,如果我想让一个元素在他本来的位置做一些调整(位移),我们可以将该元素定位设置为relative,同时指定相对位移(利用top,bottom,left,right)。
有一点需要注意的是,相对定位的元素仍然在文档流中,仍然占据着他本来占据的位置空间——虽然他现在已经不在本来的位置了。
如果你想在一个文档(Document)中将一个元素放至指定位置,你可以使用absolute来定位,将该元素的position设置为absolute,同时使用top,bottom,left,right来定位。
绝对定位会使元素从文档流中被删除,结果就是该元素原本占据的空间被其它元素所填充。
如果对一个父元素设置relative,而对它的一个子元素设置absolute,如:
<div id="parent" style="position:relative"> <div id="child" style="position:absolute"> </div> </div>
则子元素的绝对定位的参照物为父元素。
利用混合定位,我们可以用类似下面的css来实现两列(Two Column)定位
#div-parent { position:relative; } #div-child-right { position:absolute; top:0; right:0; width:200px; } #div-child-left { position:absolute; top:0; left:0; width:200px; }
我们知道absolute定位的参照物是“上一个定位过的父元素(static不算)”,那么如果我想让一个元素定位的参照物总是整个文档(viewport),怎么办呢?
答案是使用fixed定位,fixed定位的参照物总是当前的文档。利用fixed定位,我们很容易让一个p定位在浏览器文档的左上,右上等方位。比如你想添加一个信息提示的p,并将该p固定在右上方,你可以使用以下css
.element { position:fixed; top:2%; right:2%; }
对于浮动,需要了解的是:
*浮动会将元素从文档流中删除,他的空间会被其它元素补上。
*浮动的参数物是父元素,是在父元素这个容器中飘。
*为了清除浮动造成的对浮动元素之后元素的影响,我们在浮动元素之后加一个p,并将这个p的clear设置为both。
*如果两个元素都设置了浮动,则两个元素并不会重叠,第一个元素占据一定空间,第二个元素紧跟其后。如果不想让第二个元素紧跟其后,可以对第二个浮动的元素使用clear。
Value | Description |
---|---|
static | Elements renders in order, as they appear in the document flow. This is default. |
absolute | The element is positioned relative to its first positioned (not static) ancestor element |
fixed | The element is positioned relative to the browser window |
relative | The element is positioned relative to its normal position, so "left:20" adds 20 pixels to the element's LEFT position |
inherit | The value of the position property is inherited from the parent element |
以上是“html定位的方式有哪些”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。