-
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
相关推荐
在前端开发中,经常需要将元素在页面中进行水平垂直居中处理,特别是在响应式布局或者需要精确控制元素位置的情况下尤为重要。本篇文章将详细介绍如何通过 CSS 实现内容的水平垂直居中,并且无需指定具体的宽度和...
首先,在 HTML 中,我们需要定义一个容器元素 `<ul class="imgBox">`,其中包含了多个 `<li>` 元素,每个 `<li>` 元素中包含一个 `<img>` 元素。我们需要将图片缩放到等比的大小,并将其垂直居中。 在 CSS 中,我们...
- **内联元素的默认排列**:内联元素在同一行内水平排列。 - **块元素和内联元素的混合默认排列**:两者按顺序依次排列。 - **使用浮动属性进行定位**:通过`float`属性可以让元素浮动到左边或右边。 #### 定位属性...
- 创建一个无序列表`<ul>`,并给它一个唯一的ID,例如`id="biaoge"`,以便在CSS中引用。 - 在`<ul>`内,用`<li>`元素表示每一行的数据单元格。对于表格的表头,可以给特定的`<li>`元素添加一个类,例如`class=...
本案例介绍了一个使用纯CSS实现的蓝紫色三级下拉垂直菜单,该菜单具有良好的视觉效果和交互体验。 #### 二、设计特点与应用场景 - **蓝紫色调**:整体采用蓝紫色作为主色调,这种颜色给人以专业和稳重的感觉,适合...
昨晚群里一个朋友帮忙解决的问题,之前没有遇到过,题目如下: 不改变html结构,使导航菜单垂直水平居中,导航宽度自适应屏幕100%,高度30px;单项高度28px,宽80px; 兼容:ie6+,ff,chrome,opera等主流浏览器。 ...
利用Flexbox布局可以使菜单项垂直居中。 3. 鼠标悬停效果:利用`:hover`伪类,改变菜单项的颜色、背景或添加下划线等。 4. 动画效果:通过`transition`属性添加过渡效果,例如当鼠标悬停时,图标和文字颜色的变化...
在网页设计中,表单元素的布局和对齐方式是一个常见的挑战,特别是涉及到垂直居中对齐时。本文主要探讨了如何解决表单元素(如输入框、选择框、单选按钮和复选框)与文字在垂直方向上对齐的问题,特别是针对IE6和IE7...
HTML5/CSS3 面试题及答案 - CSS 篇 ...本文档旨在提供一个详细的 CSS 知识点总结,涵盖了 CSS 的新特性、选择符、盒模型、浮动、垂直居中等多个方面,以便帮助读者更好地理解和掌握 CSS 的知识点。
首先,我们需要创建一个`<div>`作为导航栏容器,然后在其中嵌套一个`<ul>`标签,`<ul>`中包含多个`<li>`标签,每个`<li>`代表一个导航链接: ```html <li>首页</a></li> <li>关于我们</a></li> <li>服务</a>...
若第一个是精确单位 一定是x 则另一个垂直居中 ③混合单位 有顺序要求 第一个为x 第二个为y (5)背景固定 background-attachment: scroll | fixed ; (6)背景复合写法 background:颜色 图片地址url 平铺 ...
在网页设计中,为了使页面更具视觉吸引力,我们经常会在列表项(`<li>`)前添加小图标。...这种方法虽然不是最理想的方式,但可以作为一个有效的折中解决方案,帮助你在保持代码兼容性的同时实现列表项图片的垂直居中。
在网页设计中,列表(LI元素)的布局是一个常见的需求,尤其是当需要将列表中的项目水平显示在一行内,并且要求这些项目居中显示时。通常情况下,列表项会使用CSS的浮动属性(float)来实现横向布局,比如左浮动。...
每个列表项`<li>`内都包含了一个链接`<a>`,当鼠标悬停(hover)在这个链接上时,字体大小、高度等属性会发生变化,从而达到视觉上的放大效果。 #### 二、CSS样式解析 接下来,我们详细分析CSS部分: 1. **基础...
在这个例子中,`div`作为一个容器,包裹了`h1`、`p`和`ul`元素,便于对整个区域应用统一的CSS样式。 CSS对于`div`的应用,主要体现在以下几个方面: 1. **布局**:利用CSS的盒模型(Box Model),我们可以调整`div...
垂直水平居中是 CSS 中一个常见的问题,实现方法有很多种,以下是一种简单的实现方法: HTML 结构:<div class="wrapper"> <div class="content"></div> CSS:.wrapper{position:relative;}.content{background-...
2. 列表项边框的简便使用:在菜单项列表中,使用`:not()`伪类可直接在不需要边框的最后一个元素上省略边框,使得代码更加简洁易读。比如`.navli:not(:last-child)`会为所有非最后一个`.navli`元素添加边框。 3. ...
如果标题前的图标是一串较长的图像,例如一个线条或一个连续的图案,此时最佳的做法是将背景图片设置在`<ul>`元素上。原因在于这样的图标需要占据整个列表项的宽度,而不仅仅是一个点或一个小方块。在CSS中,可以...
css盒模型:块级元素,内联元素,内敛块状元素,none使元素隐身,设置宽度、高度、背景色、边框、圆角,padding内边距,margin外边距; css布局模型:流动模型flow,浮动模型float,层模型layer,层模型的绝对定位、...