首页 > 代码库 > 宽度不固定元素水平居中
宽度不固定元素水平居中
元素浮动以后不能通过text-align:center或是margin:0 auto达到居中效果,我们可以这样做是浮动元素居中:为父盒子和子盒子position: relative;然后父盒子left: 50%; 子盒子right:50%;就可以达到居中效果了。
另外如果元素不浮动如何达到居中效果呢。text-align:center;只能居中行内元素,但是往往我们需要居中一个块级盒子,其实也很简单:为父盒子设置text-align:center;为子盒子设置display:inline-block;就可以了,下面是demo
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>页面元素的水平居中</title> <style type="text/css"> * { margin: 0; padding: 0; list-style: none; font-size: 14px; } .clearfix:after { content: ""; height: 0; visibility: hidden; display: block; clear: both; } a { text-decoration: none; } h1 { text-align: center; padding: 10px; font-size: 20px; margin: 30px 0; } .wrap { margin: 20px auto; padding: 10px 0; background: orange; overflow: hidden; position: relative; } /* 解决方案一 */ .inwrap { float: left; position: relative; left: 50%; } .page { float: left; position: relative; left: -50%; } /* 方案一结束 */ /* 解决方案二 */ .inwrap { text-align: center; } .page { display: inline-block; } /* 方案二结束 */ .page li { float: left; margin: 0 5px; } .page li a { display: block; padding: 2px 9px; background: white; border: 1px solid red; float: left; } </style> </head> <body> <div class="wrap clearfix"> <div class="inwrap"> <ul class="page"> <li> <a href="#">上一页</a> </li> <li> <a href="#">1</a> </li> <li> <a href="#">2</a> </li> <li> <a href="#">3</a> </li> <li> <a href="#">4</a> </li> <li> <a href="#">2</a> </li> <li> <a href="#">3</a> </li> <li> <a href="#">2</a> </li> <li> <a href="#">3</a> </li> <li> <a href="#">4</a> </li> <li> <a href="#">5</a> </li> <li> <a href="#">6</a> </li> <li> <a href="#">下一页</a> </li> </ul> </div> </div> </body> </html>
宽度不固定元素水平居中
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。