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 相关文章推荐
JavaScript高级程序设计 XML、Ajax 学习笔记
Sep 10 Javascript
JQuery中如何传递参数如click(),change()等具体实现
Apr 28 Javascript
全面解析Bootstrap弹窗的实现方法
Dec 01 Javascript
Bootstrap登陆注册页面开发教程
Jul 12 Javascript
Java与JavaScript中判断两字符串是否相等的区别
Mar 13 Javascript
AngularJS模态框模板ngDialog的使用详解
May 11 Javascript
Vue项目添加动态浏览器头部title的方法
Jul 11 Javascript
微信小程序new Date()方法失效问题解决方法
Jul 29 Javascript
小程序两种滚动公告栏的实现方法
Sep 17 Javascript
js实现鼠标拖拽div左右滑动
Jan 15 Javascript
JavaScript实现复选框全选功能
Apr 11 Javascript
vue elementUI批量上传文件
Apr 26 Vue.js
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
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
PHP加密解密实例分析
2015/12/25 PHP
php preg_match的匹配不同国家语言实例
2016/12/29 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
juery框架写的弹窗效果适合新手
2013/11/27 Javascript
JavaScript设计模式之单例模式实例
2014/09/24 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
javascript闭包的理解
2015/04/01 Javascript
JQuery选择器、过滤器大整理
2015/05/26 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
JS实现的加减乘除四则运算计算器示例
2017/08/09 Javascript
vue中component组件的props使用详解
2017/09/04 Javascript
使用JS中的Replace()方法遇到的问题小结
2017/10/20 Javascript
webpack构建的详细流程探底
2018/01/08 Javascript
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
React实现todolist功能
2020/12/28 Javascript
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
Python实现的堆排序算法示例
2018/04/29 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
python实现随机漫步方法和原理
2019/06/10 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
python numpy 矩阵堆叠实例
2020/01/17 Python
完美解决torch.cuda.is_available()一直返回False的玄学方法
2021/02/06 Python
Banana Republic英国官网:香蕉共和国,GAP集团旗下偏贵族风
2018/04/24 全球购物
手工制作的意大利礼服鞋:Ace Marks
2018/12/15 全球购物
印度电子产品购物网站:Vijay Sales
2021/02/16 全球购物
网络安全方面的面试题
2015/11/04 面试题
什么是SCM(软件配置管理)
2014/08/16 面试题
预备党员入党自我评价范文
2014/03/10 职场文书
授权委托书怎么写
2014/09/25 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
2014年物资管理工作总结
2014/12/02 职场文书
郭明义电影观后感
2015/06/08 职场文书
MySQL数据库实验实现简单数据库应用系统设计
2022/06/21 MySQL