div中内容上下居中小结教程

虽然div中内容上下居中的问题已经是一个比较古老的话题,但是最近发现还是有很多前端开发者在询问如何实现。其实网络上已经有很多资料和案例了,我这里再总结一下几个比较常见的处理方式。

情形一:div限高,内容长度限一行

代码如下:

<style>
.v-align {
margin: 0 auto;
width: 200px;
height: 80px;
text-align: center;
line-height: 80px;
border: 1px solid #ddd;
}
</style>
<!-- html -->
<div class="v-align">我的内容只能有一行。</div>

 

情形二:div限高,内容不限

代码如下:

.v-mult {
margin: 0 auto;
width: 200px;
height: 100px;
border: 1px solid #ddd;
overflow: hidden;
}
.v-mult .empty,
.v-mult .text {
display: inline-block;
*display: inline;
*zoom: 1;
vertical-align: middle;
}
.v-mult .empty {
height: 100%;
}
<!-- html -->
<div class="v-mult">
<span class="empty"></span>
<span class="text">我的内容不限,多高都行
换行照常</span>
</div>

 

情形三:div高度不定,内容高度一定

代码如下:

.v-auto {
position: relative;
margin: 0 auto;
width: 200px;
border: 1px solid #ddd;
}
.v-auto .text {
position: absolute;
top: 50%;
margin-top: -50px;
height: 100px;
border: 1px dashed #ddd;
}
<!-- html -->
<div class="v-auto">
<div class="text">
我的高度是固定的,只有100px高,但是我的父及高度不定,我怎么垂直居中呢?
</div>

</div>

 

情形四:div高度不定,内容高度不定

代码如下:

.v-auto-out {
position: relative;
margin: 0 auto;
width: 200px;
border: 1px solid #ddd;
}
.v-auto-out .auto-in {
position: absolute;
top: 50%;
border: 1px dashed #ddd;
/* 这里有兼容性问题 */
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
-o-transform: translateY(-50%);
transform: translateY(-50%);
}
<!-- html -->
<div class="v-auto-out">
<div class="auto-in">我的高度不定,我的父及高度也不定,这下要上下居中,该如何是好?我们一起来瞧瞧吧。</div>

</div>

 

好了,知道这四种方式,我相信足以应对日常工作中的各种垂直居中问题。代码很简单,不再做多余阐述。总之一句话,CSS的各个属性样式,就好像人肢体的各个器官,了解了各个器官的功能,才能相互配合完成各种任务。相反,个体的能力是有限的。

时间: 2024-10-25 23:11:38

div中内容上下居中小结教程的相关文章

div中内容上下居中小结

 虽然div中内容上下居中的问题已经是一个比较古老的话题,但是最近发现还是有很多前端开发者在询问如何实现.其实网络上已经有很多资料和案例了,我这里再总结一下几个比较常见的处理方式. 情形一:div限高,内容长度限一行 代码如下: <style> .v-align { margin: 0 auto; width: 200px; height: 80px; text-align: center; line-height: 80px; border: 1px solid #ddd; } </s

控制DIV中文字绝对居中的简单方法

DIV中的文字绝对居中以前老是用表格,现在有了很好的解决方案line-height便可轻松实现,感兴趣的朋友可以参考下,希望对大家有所帮助   搞了这么久,以前不知道怎么弄,老是用表格,今天终于搞清楚了... 水平居中:<div align="center">Content</div> 垂直居中:<div style="line-height:30px;height:30px;">Content</div> 两者结合,

jsp-div中内容显示不完全,滚动条不能出现!急!!!!

问题描述 div中内容显示不完全,滚动条不能出现!急!!!! <%-- --%> <c:forEach items="${page.items }" var="t" varStatus="index"> <div style="padding-left:50px;"> <span > <label style="float:left;"><f

CSS中div高度内容垂直方向居中方法总结

让div中的内容垂直居中,无非有以下几种方法,等我一一列举:  一.行高(line-height)法  如果要垂直居中的只有一行或几个文字,那它的制作最为简单,只要让文字的行高和容器的高度相同即可,比如:   代码如下 复制代码 p { height:30px; line-height:30px; width:100px; overflow:hidden; }   这段代码可以达到让文字在段落中垂直居中的效果.  二.内边距(padding)法  另一种方法和行高法很相似,它同样适合一行或几行文

div布局-请问怎么让div中的div在垂直方向上居中呢?

问题描述 请问怎么让div中的div在垂直方向上居中呢? 比如:下面这段代码,如何让里面的div在垂直方向上面居中呢(不好意思,实在是没有悬赏币了) .out{ width:500px; height:500px; background:blue;}.inn{ width:200px; height:200px; background:red;} 解决方案 你的inn怎么比out还大..搞反了吧..通过margin来定位.absolute定位最好,不需要考虑父容器,只需要依据自身的宽和高度来调整

css控制div中元素居中的示例

 div中行级元素居中   代码如下: <div class="treeTitle"> <img src="images/app.png" /> <span>导航菜单</span> </div> 要求:将<img>和<span>标签居中   解答:div为块级元素,img和span为行内元素.所以这个问题归结为块级元素中的行内元素的居中问题.   代码如下: #treeTitle {

html中设置让div中的内容超出后自动显示滚动条

 在html页面中,我们有时需要让div中的内容超出后自动显示滚动条,我们可以这样设置: 代码如下: <div class="classlist"> <div class="autoScroll"> <asp:RadioButtonList ID="rblClasses" runat="server" DataTextField="className" DataValueFie

JS在可编辑的div中的光标位置插入内容的方法

 首先要让DIV启用编辑模式 代码如下: <div contenteditable=true id="divTest"></div> 通过设定contenteditable=true开启div的编辑模式.这样DIV就可以跟文本框一样输入内容了. 不扯话题了.下面说怎么获取或设置光标位置.   2个步骤: ① 获取DIV中的光标位置 ② 改变光标位置 代码如下: var cursor = 0; // 光标位置  document.onselectionchange

js html div clone-JS 复制div中的所有内容

问题描述 JS 复制div中的所有内容 如图 点击添加签证申请人 追加一个 一样的DIV 该怎么实现并获取他们的值?? 解决方案 用jquery的clonehttp://www.cnblogs.com/guoxinkun/articles/2024379.html