admin 管理员组

文章数量: 1087139


2024年2月23日发(作者:用lu分解法求解方程组例题)

在说到这个问题的时候,也许有人会问CSS中不是有vertical-align属性来设置垂直居中的吗?即使是某些浏览器不支持我只需做少许的CSS Hack技术就可以啊!所以在这里我还要啰嗦两句,CSS中的确是有vertical-align属性,但是它只对(X)HTML元素中拥有valign特性的元素才生效,例如表格元素中的、、等,而像

这样的元素是没有valign特性的,因此使用vertical-align对它们不起作用。

CSS网页布局DIV水平居中的各种方法

一、单行垂直居中

如果一个容器中只有一行文字,对它实现居中相对比较简单,我们只需要设置它的实际高度height和所在行的高度line-height相等即可。如:

提供的代码片段:

div {

height:25px;

line-height:25px;

overflow:hidden;

}

这段代码很简单,后面使用overflow:hidden的设置是为了防止内容超出容器或者产生自动换行,这样就达不到垂直居中效果了。

提供的代码片段:

"/TR/xhtml1/DTD/">

单行文字实现垂直居中

现在我们要使这段文字垂直居中显示!

不过在Internet Explorer 6及以下版本中,这和方法不支持对图片设置垂直居中。

二、多行未知高度文字的垂直居中

如果一段内容,它的高度是可变的那么我们就可以使用上一节讲到的实现水平居中时使用到的最后一种方法,就是设定Padding,使上下的padding值相同即可。同样的,这也是一种“看起来”的垂直居中方式,它只不过是使文字把

完全填充的一种方式而已。可以使用类似下面的代码:

提供的代码片段:

div {

padding:25px;

}

这种方法的优点就是它可以在任何浏览器上运行,并且代码很简单,只不过这种方法应用的前提就是容器的高度必须是可伸缩的。

提供的代码片段:

"/TR/xhtml1/DTD/">

多行文字实现垂直居中

现在我们要使这段文字垂直居中显示!    

div {

padding:25px;

border:1px solid #FF0099;

background-color:#FFCCFF;

}

三、多行文本固定高度的居中

在本文的一开始,我们已经说过CSS中的vertical-align属性只会对拥有valign特性的(X)HTML标签起作用,但是在CSS中还有一个display属性能够模拟

,所以我们可以使用这个属性来让
模拟
就可以使用vertical-align了。注意,display:table和display:table-cell的使用方法,前者必须设置在父元素上,后者必须设置在子元素上,因此我们要为需要定位的文本再增加一个
元素:

提供的代码片段:

div#wrap {

height:400px;

display:table;

}

div#content {

vertical-align:middle;

display:table-cell;

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

}

提供的代码片段:

"/TR/xhtml1/DTD/">

多行文字实现垂直居中

现在我们要使这段文字垂直居中显示!     

div#wrap {

height:400px;

display:table;

}

div#content {

vertical-align:middle;

display:table-cell;

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

}

这个方法应该是很理想了,但是不幸的是Internet Explorer 6 并不能正确地理解display:table和display:table-cell,因此这种方法在Internet Explorer 6及以下的版本中是无效的。嗯,这让人很郁闷!不过我们还其它的办法。

四、在Internet Explorer中的解决方案

在Internet Explorer 6及以下版本中,在高度的计算上存在着缺陷的。在Internet Explorer

6中对父元素进行定位后,如果再对子元素进行百分比计算时,计算的基础似乎是有继承性的(如果定位的数值是绝对数值没有这个问题,但是使用百分比计算的基础将不再是该元素的高度,而从父元素继承来的定位高度)。例如,我们有下面这样一个(X)HTML代码段:

提供的代码片段:

如果我们对subwrap进行了绝对定位,那么content也会继承了这个属性,虽然它不会在页面中马上显示出来,但是如果再对content进行相对定位的时候,你使用的100%分比将不再是content原有的高度。例如,我们设定了subwrap的position为40%,我们如果想使content

的上边缘和wrap重合的话就必须设置top:-80%;那么,如果我们设定subwrap的top:50%的话,我们必须使用100%才能使content回到原来的位置上去,但是如果我们把content也设置50%呢?那么它就正好垂直居中了。所以我们可以使用这中方法来实现Internet Explorer

6中的垂直居中:

提供的代码片段:

div#wrap {

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

height:400px;

position:relative;

}

div#subwrap {

position:absolute;

border:1px solid #000;

top:50%;

}

div#content {

border:1px solid #000;

position:relative;

top:-50%;

}

当然,这段代码只能在Internet Exlporer 6等计算存在问题的浏览器中才会有作用。(不过我不解,我查阅了很多文章,不知道是因为出处相同还是什么原因,似乎很多人都不愿意去解释Internet Exlporer 6中这个Bug的原理,我也只是了解了一点皮毛,还要再研究)

提供的代码片段:

"/TR/xhtml1/DTD/">

多行文字实现垂直居中

现在我们要使这段文字垂直居中显示!    

div#wrap {

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

height:500px;

position:relative;

}

div#subwrap {

position:absolute;

border:1px solid #000;

top:50%;

}

div#content {

border:1px solid #000;

position:relative;

top:-50%;

}

五、完美的解决方案

那么我们综合上面两种方法就可以得到一个完美的解决方案,不过这要用到CSS hack的知识。对于如果使用CSS Hack来区分浏览器,你可以参考这篇“简单CSS hack:区分IE6、IE7、IE8、Firefox、Opera”:

提供的代码片段:

div#wrap {

display:table;

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

height:400px;

_position:relative;

overflow:hidden;

}

div#subwrap {

vertical-align:middle;

display:table-cell;

_position:absolute;

_top:50%;

}

div#content {

_position:relative;

_top:-50%;

}

至此,一个完美的居中方案就产生了。

提供的代码片段:

"/TR/xhtml1/DTD/">

多行文字实现垂直居中

现在我们要使这段文字垂直居中显示!    

div#wrap {

border:1px solid #FF0099;

background-color:#FFCCFF;

width:760px;

height:500px;

position:relative;

}

div#subwrap {

position:absolute;

border:1px solid #000;

top:50%;

}

div#content {

border:1px solid #000;

position:relative;

top:-50%;

}

p.s. 垂直居中vertical-align的值是middle,而水平居中align的值是center,虽然同是居中但关键字不


本文标签: 居中 垂直 高度 文字 使用

更多相关文章

windows bat 遍历path删除路径 -回复

5月前

年月日发(作者:标签什么意思)遍历删除路径-回复中的.文件是一种批处理文件,用于通过命令行自动执行一系列的操作。在本篇文章中,我们将学习如何编写一个遍历并删除指定路径的.文件。在操作系统中,是一个环境变量,用于指定可执行文件的路径。通过将可

清理ie和使用历史记录的bat代码

5月前

年月日发(作者:抹茶拿铁图片)清理和使用历史记录的代码代码如下:@:正在清除临时文件,清除,清除历史记录,清除表单数据,清除密码,清除上述全部项目,清除上述全部项目,以及中使用的加载项所保存的各种数据,*,..批处理怎样清理系统的使用痕迹能

程序员(基础知识、应用技术)合卷软件资格考试(初级)试题与参考答案(202

5月前

年月日发(作者:结束语模板)年软件资格考试程序员(基础知识、应用技术)合卷(初级)模拟试题(答案在后面)一、基础知识(客观选择题,题,每题分,共分)、家长通过编程软件帮助儿童学习编程、科学、艺术等知识。下列与软件设计相关的说法,错误的是哪一

计算机的发展经历了哪几个阶段

5月前

年月日发(作者:滚动条不显示)第二章简答题、计算机的发展经历了哪几个阶段?各阶段的主要特点是什么?答:电子计算机的发展已经历了四代,正向第五代智能化的计算机发展。前四代计算机的特点是:第一代为电子管计算机,使用的软件程序主要为机器语言。第二

计算机简答题整理

5月前

年月日发(作者:安装教程)第一章,计算机基础知识部分、.简述一个完整的计算机系统由哪些部分组成。答:一个完整的计算机系统由硬件系统和软件系统所组成。其中硬件系统包括:输入设备、控制器运算器、存储器和输出设备五部分。软件系统则由系统软件和应用

北语18秋《计算机科学导论》作业1234

5月前

年月日发(作者:创建项目没有)秋《计算机科学导论》作业_一、单选题(每题分,共道小题,总分值分).在所有语言中使用的位码表示系统称为()。....扩展码答案:作业代做:成绩保证分以上,基本满分!.一元运算符()将一个输入取反。....答案:

全国计算机一级选择题题库

5月前

年月日发(作者:学习编程基础)全国计算机一级选择题题库题(附答案及解析)一、单选题(题,每题分).世界上第一台电子计算机是()。....-.计算机的发展经历了四代,“代”的划分是根据计算机的(.主要元器件.运算速度.应用范围.功能.以下不属

浅析C语言中的goto语句

5月前

年月日发(作者:英文版转中文)浅析语言中的语句语言中的语句是一种流程控制语句,它允许程序无条件地跳转到程序中的任意位置。虽然语句在现代编程中被广泛认为是不好的实践,但它仍然可以在某些情况下提供一种简洁的控制流程方式。本文将对语言中的语句进行

关于c语言语句的正确概念

5月前

年月日发(作者:怎么制作网页推广)关于语言语句的正确概念一、语言语句的概述语言语句是语言编程的基本单位,用于表达程序的控制流程和逻辑运算。在语言中,语句可以分为两类:控制语句和表达式语句。控制语句用于控制程序的流程,如条件判断、循环控制和函

Python程序设计智慧树知到课后章节答案2023年下西安铁路职业技术学院

5月前

年月日发(作者:什么意思)程序设计智慧树知到课后章节答案年下西安铁路职业技术学院西安铁路职业技术学院项目一测试.关于语言的特点,以下选项中描述错误的是():语言是跨平台语言:语言是多模型语言:语言是非开源语言:语言是脚本语言答案:语言是非开

2024年黑马程序员Python教程Python简介

5月前

年月日发(作者:网站网页设计心得)(简介)[](英国发音:美国发音:),是一个面对对象的解释型计算机程序设计语言,由荷兰人于年创造,第一个公开发行版发行于年。是纯粹的自由软件,源代码和解释器遵照()协议[]。语法简洁清楚,特色之一是强制用空

全国计算机等级考试二级教程——c++语言程序设计

5月前

年月日发(作者:)全国计算机等级考试二级教程——语言程序设计语言程序设计是计算机等级考试二级的一部分,它是一种通用的高级程序设计语言。下面是全国计算机等级考试二级的语言程序设计教程,帮助考生更好地理解和掌握这门语言。.基本语法:语言的基本语

程序设计的五个步骤

5月前

年月日发(作者:打包)程序设计的五个步骤程序设计是计算机科学中最重要的方向之一。无论是开发应用程序还是设计操作系统,程序设计都是必不可少的。程序设计的五个步骤是:需求定义、设计、编码、测试和维护。这五个步骤是有序的,并且紧密相连的。第一步:

计算机桌面文字重影,电脑桌面字有重影怎么办

4月前

1.电脑字体重影怎么办 可以尝试以下4种方法: 1. 右击“我的电脑”,依次单击“属性高级性能设置”在“视觉效果”页中将“在桌面上为图标标签使用阴影”选中,单击确定即可。

html内容被背景图片遮住怎么办_完美实现文字置于图片之上且背景半透明

4月前

之前发过一篇关于 将图片的说明文字显示在图片之上且背景半透明效果 的文章,讲述了如何将文字置于图片之上且背景半透明,但那个解决办法会出现一个问题,就是背景虽然半透明了&

完全免费的OCR文字识别软件

4月前

今天我要分享给大家的是两款完全免费的OCR文字识别软件,而且这两款软件都是本地版无需联网就能使用,而且没有使用次数的限制。 软件准备好了: 链接: 百度网盘 请输入提取码

余世维有效沟通全文字!

4月前

21世纪是一个充满激烈竞争的时代,作为一名成功的职业经理人,不仅要有应对问题和挫折的能力,还要与客户、同事、合作伙伴和供应商建立良好的人际关系。因此,提

python安装库后出现文字提示You should consider upgrading via the ‘d:users**anaconda3python.exe -m pip ins

4月前

You should consider upgrading via the d:users**anaconda3python.exe -m pip install --upgrade pip command. 直接回车&#

图书管理系统源代码<Java>(带文字讲解)(javase)

3月前

带你编写图书管理系统(java) 很多同学在学校学习完Java后,就要开始做一个管理系统来通过课设考核,今天我就来交大家来实现一个图书管理系统。 一

惠普电脑没有insert键怎么办?(按回车不换行,光标到下一行文字处)

3月前

今天我在用idea编程的时候突然发现按回车键就到下一行代码,回车换行功能失效。 解决方案:按一下insert键就好了。 那么有些笔记本键盘没有insert键怎么办呢?因为我

发表评论

全部评论 0
暂无评论