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 相关文章推荐
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
Oct 24 Javascript
jquery如何扑捉回车键触发的事件
Apr 24 Javascript
jquery实现带二级菜单的导航示例
Apr 28 Javascript
jQuery中复合属性选择器用法实例
Dec 31 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
Feb 26 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
使用js复制链接中的部分文字的方法
Jul 30 Javascript
JavaScript笔记之数据属性和存储器属性
Mar 31 Javascript
详解js前端代码异常监控
Jan 11 Javascript
使用vue-cli导入Element UI组件的方法
May 16 Javascript
详解关闭令人抓狂的ESlint 语法检测配置方法
Oct 28 Javascript
原生javascript制作的拼图游戏实现方法详解
Feb 23 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 Class&amp;Object -- 解析PHP实现二叉树
2013/06/25 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
javascript字符串与数组转换汇总
2015/05/26 Javascript
简单的jQuery入门指引
2015/07/28 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
BootStrap 超链接变按钮的实现方法
2016/09/25 Javascript
JavaScript中的ajax功能的概念和示例详解
2016/10/17 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
Vue 父子组件、组件间通信
2017/03/08 Javascript
vue.js单页面应用实例的简单实现
2017/04/10 Javascript
jQuery使用正则验证15/18身份证的方法示例
2017/04/27 jQuery
vux uploader 图片上传组件的安装使用方法
2018/05/15 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
vue中关闭eslint的方法分析
2018/08/04 Javascript
详解如何构建Promise队列实现异步函数顺序执行
2018/10/23 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
解决await在forEach中不起作用的问题
2021/02/25 Javascript
python对url格式解析的方法
2015/05/13 Python
Flask Web开发入门之文件上传(八)
2018/08/17 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
Python操作Word批量生成合同的实现示例
2020/08/28 Python
CSS3实现时间轴效果
2016/07/11 HTML / CSS
css3 media 响应式布局的简单实例
2016/08/03 HTML / CSS
纯CSS3制作页面切换效果的实例代码
2019/05/30 HTML / CSS
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
乐高奥地利官方商店:LEGO Shop AT
2019/07/16 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
幼儿园中班下学期评语
2014/04/18 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
2014年大学团支部工作总结
2014/12/02 职场文书
工作简历的自我评价
2019/05/16 职场文书
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技