这篇文章给大家分享的是有关如何让一个float:left的元素居中的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
从策划到设计制作,每一步都追求做到细腻,制作可持续发展的企业网站。为客户提供网站设计制作、成都网站制作、网站策划、网页设计、空间域名、虚拟空间、网络营销、VI设计、 网站改版、漏洞修补等服务。为客户提供更好的一站式互联网解决方案,以客户的口碑塑造优易品牌,携手广大客户,共同发展进步。第一种方法
<style type="text/css"> .box { float: left; width: 100px; height: 100px; background: lightcoral; } </style> <body> <div class="box"></div> </body>
现在它所处的位置 在页面的最左边
我们都知道在浮动的情况下添加margin: 0 auto; 是没有任何效果的。
那么我们在box的外面再套一个div 就是给他一个爸爸 让他的爸爸处于页面的正中央
<style type="text/css"> .con { position: relative; float: left; left: 50%; background: lightblue; } .box { position: relative; float: left; left: -50%; width: 100px; height: 100px; background: lightcoral; } </style> <body> <div class="con"> <div class="box"></div> </div> </body>
运行代码 我们得到下面的结果
蓝色的con为砖红色box的“爸爸”,从图上我们可以很清楚的看到, con通过定位往左移了百分之五十。而box通过相对定位,定位在con的-50%的地方,即为正中心。
给子元素相对定位,是想将相对于父元素来定位自己的位置,float:left让子元素在同一水平线上显示,left:-50%是因为子元素的整体宽度就是父元素的宽度,left:50%就是让子元素内容往相对父元素左上那一点往左移动父元素一半的宽度(right:50%是距右边50%,效果一样),正好实现子元素内容居中显示的效果。
这是引用了别人的话,会更加清晰。
第二种方法
是使用原生JavaScript写的
<body> <div id="con" class="box"></div> <script type="text/javascript"> var con = document.getElementById('con'); con.style.position = 'relative'; con.style.left = (document.body.offsetWidth - con.clientWidth) / 2 + 'px'; </script> </body>
通过获取屏幕的总宽度 减去box本身的宽度 除以二 便得到了中心的位置。
第三种方法
JQ
<body> <div class="box"></div> <script type="text/javascript" src="../js/jquery-1.12.3.js"></script> <script type="text/javascript"> $('.box').css({ 'position' : 'relative', 'left' : ($(window).width() - $('.box').outerWidth()) / 2 + 'px' }) </script> </body>
和JS的原则是一样的~
感谢各位的阅读!关于如何让一个float:left的元素居中就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文题目:如何让一个float:left的元素居中-创新互联
浏览地址:https://www.cdcxhl.com/article24/ihpje.html
成都网站建设公司_创新互联,为您提供服务器托管、响应式网站、网页设计公司、建站公司、品牌网站建设、全网营销推广
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联