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 相关文章推荐
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
Oct 29 Javascript
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
Jun 28 Javascript
基于jQuery的图片不完全按比例自动缩小
Jul 11 Javascript
HTML中setCapture、releaseCapture 使用方法浅析
Sep 25 Javascript
yii form 表单提交之前JS在提交按钮的验证方法
Mar 15 Javascript
AngularJS中使用ngModal模态框实例
May 27 Javascript
vue数据双向绑定的注意点
Jun 23 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
May 21 Javascript
React注册倒计时功能的实现
Sep 06 Javascript
layer.confirm()右边按钮实现href的例子
Sep 27 Javascript
利用原生JS实现欢乐水果机小游戏
Apr 23 Javascript
微信小程序自定义弹出层效果
May 26 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函数的实现原理及性能分析(一)
2015/05/13 PHP
关于PHP开发的9条建议
2015/07/27 PHP
百万级别知乎用户数据抓取与分析之PHP开发
2015/09/28 PHP
php生成动态验证码gif图片
2015/10/19 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
2020/01/25 PHP
window.onbeforeunload方法在IE下无法正常工作的解决办法
2010/01/23 Javascript
jQuery 阴影插件代码分享
2012/01/09 Javascript
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
JavaScript里实用的原生API汇总
2015/05/14 Javascript
jQuery实现HTML表格单元格的合并功能
2016/04/06 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
AngularJS基础 ng-include 指令简单示例
2016/08/01 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
bootstrap 弹出框modal添加垂直方向滚轴效果
2018/07/09 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
微信小程序点击顶部导航栏切换样式代码实例
2019/11/12 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
[01:03]DOTA2新的征程 你的脚印值得踏上
2014/08/13 DOTA
python操作ssh实现服务器日志下载的方法
2015/06/03 Python
Python+微信接口实现运维报警
2016/08/27 Python
python TCP Socket的粘包和分包的处理详解
2018/02/09 Python
使用Python实现毫秒级抢单功能
2019/06/06 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
Python 去除字符串中指定字符串
2020/03/05 Python
详解window.open被浏览器拦截的解决方案
2019/07/18 HTML / CSS
美国专业级皮肤病和spa品质护肤品的高级零售网站:SkinCareRx
2017/02/06 全球购物
机械设计制造专业个人求职信
2013/09/25 职场文书
药学职务聘任书
2014/03/29 职场文书
Go各时间字符串使用解析
2021/04/02 Golang
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang
Python时间操作之pytz模块使用详解
2022/06/14 Python