如何利用定位使元素居中(web端页面布局小技巧)
发布时间:2020-05-06 16:23:25 作者:qq_41860731 我要评论
这篇文章主要介绍了如何利用定位使元素居中(web端页面布局小技巧),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
元素在浏览器窗口居中的方法
这里先给出代码块,如果有同学已经看出来点眉目可以先自己尝试一下。
position:fixed; /*给想要居中的元素设置*/ left:50%; /*或者right:50%*/ top:50%; /*或者bottom:50%*/ margin-left:-元素宽度的一半; /*或者margin-right*/ margin-top:-元素高度的额一半; /*或者margin-bottom*/
好,那接下来咱们就试一试吧!
<head> <meta charset="UTF-8"> <style> /*box是在浏览器窗口居中,不是整个页面居中,这样你在上下滑动页面时, box元素是不动的,因此这里设置个box_compare元素能起参照作用,让它高度 超过窗口高度,使页面出现滚动条*/ .box_compare { width: 100%; height: 1000px; background: skyblue; } .box { /*给元素设置宽高*/ width: 500px; height: 300px; background: blue; position: fixed; left: 50%; /*元素最左边离窗口左边50%的距离*/ top: 50%; /*元素最上边离窗口顶部上边50%的距离*/ margin-top: -150px; margin-left: -250px; } </style> </head> <body> <div class="box_compare"></div> <div class="box"></div> </body>
上面的方法其实有一个弊端,即,当元素未设置宽时是不能使用的,添加了定位后的元素未设置宽度的元素宽度由内容撑开的,因此不能使用这个方法,下面给大家提供一个更简捷的方法。
position: fixed; /*给想要居中的元素设置*/ left: 0; right: 0; top: 0; bottom: 0; margin: auto;
这个方法可能会有同学不理解,为什么又是left: 0;right: 0;又是top: 0;bottom: 0;,这个目的是为了将它变成一个自由的元素,这时元素的宽高在未设置时默认是父元素的宽高,再使用margin: auto;就能使它在浏览器窗口居中了,否则,添加了fixed的元素使用margin: auto;是无效的。
好,接下来我们再次尝试一下。
<head> <meta charset="UTF-8"> <style> /*box_compare和上面一样起对照作用*/ .box_compare { width: 100%; height: 1000px; background: skyblue; } .box { width: 60%; height: 300px; background: blue; position: fixed; left: 0;right: 0; top: 0;bottom: 0; margin: auto; } </style> </head> <body> <div class="box_compare"></div> <div class="box"></div> </body>
上面这个方法在写web端页面时应用很广,同学们要多多练习哈!学会了使元素在浏览器窗口居中的方法后,那么如何使元素在父元素内居中呢?同学们可以自己思考一下,下期我再给大家介绍!
到此这篇关于如何利用定位使元素居中(web端页面布局小技巧)的文章就介绍到这了,更多相关页面定位使元素居中内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
相关文章
- 本文主要介绍了绝对定位元素的水平垂直居中的方法,有3种方法可供参考,需要的朋友一起来看下吧2016-12-23
- 这篇文章主要介绍了CSS实现定位元素居中的方法,主要涉及到transform和margin的使用,需要的朋友可以参考下2015-06-23
- 绝对定位的元素left设为50%时,是已左上角为原点的,所以只要再使用margin属性添加负值补偿回来即可,下面示例代码,需要的朋友可以参考下2014-09-04
- 在某些时候可能需要将一个绝对定位的div在它的父对象中垂直居中对齐,可能用到的频率不是太高,但是偶尔也会用到,下面就简单介绍一下如何实现此功能2014-01-27
- 在html中水平居中使用margin:0px auto;可以实现,但垂直居中使用外边距是无法达到效果的,这里使用绝对定位+负外边距的方式来实现垂直居中,需要的朋友可以参考下2013-11-13
- 这个使用 li的起始位置在居中的50%的地方,所以需要把li 向左边移动50%。 这里想问题的时候要注意,position:relative所定义的移动百分比不是相对于自身的,而是相对于父元2013-09-30
- 网页制作Webjx文章简介:在CSS中,实现分栏布局有两种方法。第一种方法是使用四种CSS定位选项(absolute 、static、relative和fixed)中的绝对定位(absolute positioning2009-04-02
- 上一篇CSS教程 文章:CSS高级技巧:文字环绕图片 布局 CSS至关重要的作用, CSS的设计初衷. CSS布局和几年前table横行时的布局又不太一样, 在结构化语义化的HTML文档2008-10-17
最新评论