-
css如何在li里让一个元素垂直居中?10
我有一个li元素,其中的元素都是要垂直居中的。看图:
红框中左侧和右侧的div需要垂直居中,可是在li里,中间的B使行高拉大了,左侧和右侧的div默认就靠底部对其了,现在要使他垂直居中或者靠顶端对其,该怎么办?
基本的html代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css"> <title>首页</title> <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script> <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script> <style> *{ margin:0px; padding:0px; } body{ padding:10px; } .line{ width:100%; height:100%; border:1px solid #F00; } .left{ width:50%; background:#cce9ff; display:inline-block; position:relative; } .middle{ width:25%; background:#ffffff; display:inline-block; text-align:center; } .b0{ margin:0px; padding:0px; text-align:left; background:#cce9ff; } .b1{ text-align:center; } .b2{ text-align:right; background:#69F; } .right{ width:25%; background:#cce9ff; display:inline-block; text-align:right; } </style> </head> <body> <div data-role="page" id="page1"> <div data-role="header"> <h1>测试左中右结构</h1> </div> <div data-role="content"> <ul data-role="listview" data-inline="false" > <!-- <li style="background:#CFC;border:1px solid #F00;"> <div class="line"><div class="left">A</div><div class="middle">B</div><div class="right">C</div></div> </li> --> <li style="background:#CFC;"> <div class="line"><div class="left">我要垂直居中</div><div class="middle"><div class="b0">B0</div><div class="b1">B1</div><div class="b2">B2</div></div><div class="right">我要垂直居中</div> </div> </li> </ul> <div> </div> </body> </html>
问题补充:PS:
不能使用top:-20px;一类的具体的数值使它看上去居中,必须自适应!2014年7月22日 17:08
1个答案 按时间排序 按投票排序
-
如果设置了高度 可以通过line-height来控制垂直居中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css"> <title>首页</title> <script src="http://code.jquery.com/jquery-1.9.0.min.js"></script> <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script> <style> *{ margin:0px; padding:0px; } body{ padding:10px; } .line{ width:100%; height:54px;; border:1px solid #F00; overflow: hidden; } .left{ width:50%; background:#cce9ff; display:inline-block; line-height:54px; float: left; } .middle{ width:25%; background:#ffffff; display:inline-block; text-align:center; float: left; } .b0{ margin:0px; padding:0px; text-align:left; background:#cce9ff; } .b1{ text-align:center; } .b2{ text-align:right; background:#69F; } .right{ width:25%; background:#cce9ff; display:inline-block; text-align:right; line-height:54px; float: left; } </style> </head> <body> <div data-role="page" id="page1"> <div data-role="header"> <h1>测试左中右结构</h1> </div> <div data-role="content"> <ul data-role="listview" data-inline="false" > <li style="background:#CFC;"> <div class="line"><div class="left">我要垂直居中</div><div class="middle"><div class="b0">B0</div><div class="b1">B1</div><div class="b2">B2</div></div><div class="right">我要垂直居中</div> </div> </li> </ul> <div> </div> </body> </html>
或者
vertical-align: middle;
display: inline-block;
但是这样也是需要高度2014年7月22日 17:33
相关推荐
6.3.2 未知容器的大小而已知内容大小的水平和垂直居中问题 6.3.3 已知容器的大小而未知内容大小的水平和垂直居中问题 6.3.4 容器的大小和内容大小均未知的水平和垂直居中 6.3.5 修饰图片的水平和垂直居中 6.4 字体的...
昨晚群里一个朋友帮忙解决的问题,之前没有遇到过,题目如下: 不改变html结构,使导航菜单垂直水平居中,导航宽度自适应屏幕100%,高度30px;单项高度28px,宽80px; 兼容:ie6+,ff,chrome,opera等主流浏览器。 ...
若第一个是精确单位 一定是x 则另一个垂直居中 ③混合单位 有顺序要求 第一个为x 第二个为y (5)背景固定 background-attachment: scroll | fixed ; (6)背景复合写法 background:颜色 图片地址url 平铺 ...
css盒模型:块级元素,内联元素,内敛块状元素,none使元素隐身,设置宽度、高度、背景色、边框、圆角,padding内边距,margin外边距; css布局模型:流动模型flow,浮动模型float,层模型layer,层模型的绝对定位、...
最近又遇到许多垂直居中的问题,这是Css布局当中十分常见的一个问题,诸如定长定宽或不定长宽的各类容器的垂直居中,其实都有很多种解决方案。而且在Css3的flexbox出现之后,解决各类居中问题变得更加容易了。搜了搜...
独立于任何网页位置处,声明一个样式文件(.css为后缀),在文件中声明样式,在使用的网页中引入.css文件。 使用步骤: 1.创建样式表文件(.css) 2.在样式文件中编写样式规则 3.在网页中对样式文件进行引入 <...
一款非常简单的jQuery纵向时间轴代码,无论li内容多少,直线都不会超出,并且红点永远居中的jQuery垂直时间轴插件。 js代码 [removed] $(document).ready(function(e) { var h = $(".about4_main ul li:first-...
4.JS+CSS通用一个页面同时三个焦点图轮换效果完整实例 5.JS+CSS网页版模拟QQ登录框界面特效示例 6.JS+flash立柱广告代码仿百度MP3搜索右侧可伸缩的立柱广告效果 7.JS版本黑色超动感二级菜单导航模块代码 穿越...
css js常用效果用法:纯CSS制作的新闻网站中的文章列表;定义li图片头;在DIV中图片垂直、水平居中(最简单方法);纯css的防止图片撑破页面的代码(图片自动缩放)
1) 利用position/left/top和calc()实现元素的水平和垂直居中; 2) 利用CSS3的animation/transform/transform-origin属性定义动画; 3) 利用transform-origin实现旋转原点的圆心调整 废话不多说了,直接看代码吧,...
2. const问题 3 3. event.x与event.y问题 3 4. window.location.href问题 3 5. frame问题 3 ...25. 属性选择器(这个不能算是兼容,是隐藏css的一个bug) 3 26. 为什么FF下文本无法撑开容器的高度 3
1.overflow:hidden的作用是隐藏溢出比如: 复制代码代码如下: <div xss=removed id=1><div id=2></div><div> ...)这样可以让文字在<li>内相对于30px垂直居中。比如用在内,像这样成段落的,如果不加lin
现在越来越多的移动界面使用rem适配,遇到的坑也不尽其数,今天就移动端android上line-height不居中的问题提出自己的解决办法。 据分析得知原因: 1.字体大小不要使用奇数字号,带小数点的更不要提了。也就是说...
在ie7下显示非常完美,用firefox一测试,乖乖一探糊涂 惨不忍睹。经过一番研究发现兼容很 简单。 1、增加 div {overflow: hidden;},目的就是让div自动适应内容高度 2、横排的div外套div 另外设定 ul { margin: 0...
4、一个元素允许有多属性,多属性间,排名不分先后,中间用 空格 隔开即可 Demo : 1、创建一个 div 标记 ,增加属性 ,设置 align 属性的值为 center ,设置 id 属性的值为 container,设置 title 属性的值为 这...
文档容器(宽度) 给框一个特定的宽度并使其水平居中。 .container container ( 960 px )center-both(宽度) 将块设置为指定的宽度并将其垂直和水平居中。 .centered center-both ( 300 px )清除修复 () 清除带有...