css如何让浮动元素水平居中


Posted in Javascript onAugust 07, 2015

对于定宽的非浮动元素我们可以在CSS中用 margin:0 auto 进行水平居中,对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题。解决水平居中问题有很多种方法,下面先给大家分享一下三种方法,希望能帮助到大家。

方法一:

1、HTML 部分:

<div class="box">
 <p>我是浮动的</p>
 <p>我也是居中的</p>
</div>

2、CSS 部分:

.box{
 float:left;
 position:relative;
 left:50%;
}
p{
 float:left;
 position:relative;
 right:50%;
}

这样看来就很简单了吧,父元素和子元素同时左浮动,然后父元素相对左移动50%,再然后子元素相对右移动50%,或者子元素相对左移动-50%也就可以了。如此简单如此神奇。

方法二:

HTML 代码

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>页面浮动元素的水平居中</title>
<style type="text/css">
 .clearfix:after { content:""; height:0; visibility:hidden; display:block; clear:both; }
 .clearfix { zoom:1; }
 .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%; }
 .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>

父元素和子元素同时左浮动,然后父元素相对左移动50%,再然后子元素相对左移动-50%。

方法三:

html代码

<!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; } 
 .clearfix { zoom:1; } 
 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%; } 
 .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> 
<h1>页面元素的水平居中</h1> 
<h2>浮动方式:</h2> 
<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>

 这里也可以多套一层的方式设置left:-50%,更合理,也可以避免一些不必要的IE BUG。举一反三,这种float元素居中的方式其实可以延展应用到很多需要浮动元素又居中的情况。

以上通过三种方法讲解了css如何让浮动元素水平居中,后续本网站还会持续更新有关js、jq、css、php、c#等编程方面的知识,敬请关注本站,谢谢。

Javascript 相关文章推荐
js的Boolean对象初始值示例
Mar 04 Javascript
Jquery代码实现图片轮播效果(一)
Aug 12 Javascript
JS实现的5级联动Select下拉选择框实例
Aug 17 Javascript
JS简单限制textarea内输入字符数量的方法
Oct 14 Javascript
卸载安装Node.js与npm过程详解
Aug 15 Javascript
jQuery的extend方法【三种】
Dec 14 Javascript
js实现添加删除表格(两种方法)
Apr 27 Javascript
p5.js入门教程之鼠标交互的示例
Mar 16 Javascript
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
Node.js动手撸一个静态资源服务器的方法
Mar 09 Javascript
如何换个角度使用VUE过滤器详解
Sep 11 Javascript
vue项目实现多语言切换的思路
Sep 17 Javascript
jQuery实现仿百度帖吧头部固定导航效果
Aug 07 #Javascript
javascript实现鼠标移到Image上方时显示文字效果的方法
Aug 07 #Javascript
jquery简单实现网页层的展开与收缩效果
Aug 07 #Javascript
javascript+HTML5的Canvas实现Lab单车动画效果
Aug 07 #Javascript
jQuery实现仿腾讯视频列表分页效果的方法
Aug 07 #Javascript
jQuery使用animate创建动画用法实例
Aug 07 #Javascript
浅谈JavaScript 的执行顺序
Aug 07 #Javascript
You might like
解析php扩展php_curl.dll不加载的解决方法
2013/06/26 PHP
zend framework文件上传功能实例代码
2013/12/25 PHP
解密ThinkPHP3.1.2版本之模板继承
2014/06/19 PHP
php类的扩展和继承用法实例
2015/06/20 PHP
PHP 中常量的知识整理
2017/04/14 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
javascript优先加载笔记代码
2008/09/30 Javascript
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
jquery中EasyUI使用技巧小结
2015/02/10 Javascript
JavaScript返回网页中超链接数量的方法
2015/04/03 Javascript
jQuery Dialog对话框事件用法实例分析
2016/05/10 Javascript
JS上传组件FileUpload自定义模板的使用方法
2016/05/10 Javascript
vue.js中$watch的用法示例
2016/10/04 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
2017/09/20 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
Vue+ElementUI使用vue-pdf实现预览功能
2019/11/26 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
Python的Django REST框架中的序列化及请求和返回
2016/04/11 Python
详解Python中for循环是如何工作的
2017/06/30 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
快速排序的四种python实现(推荐)
2019/04/03 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
Python hmac模块使用实例解析
2019/12/24 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
加拿大品牌鞋包连锁店:Little Burgundy
2021/02/28 全球购物
JNI的定义
2012/11/25 面试题
校园游戏活动新闻稿
2014/10/15 职场文书
大学生见习报告总结
2014/11/04 职场文书
小学生2015教师节演讲稿
2015/03/19 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
2016年“我们的节日·清明节”活动总结
2016/04/01 职场文书
Python Django模型详解
2021/10/05 Python