admin 管理员组

文章数量: 1087139


2023年12月17日发(作者:什么人不能佩戴楞严咒)

CSS中元素水平居中显示的方法(2009-06-12)

用CSS让元素居中显示并不是件很简单的事情。同样的CSS居中设置在不同浏览器中的表现也各有千 秋。本文就介绍了在CSS中常见的几种让元素水平居中显示的方法。

1.使用自动外边距实现居中

CSS中首选的让元素水平居中的方法就是使用margin属性—将元素的margin-left和margin-right属性设置为auto 即可。在实际使用中,我们可以为这些需要居中的元素创建一个起容器作用的div。需要特别注意的一点就是,必须为该容器指定宽度:

在大多数主流浏览器中,这种方法都非常有效,即使是Windows平台上的IE6,在其标准兼容模式(compliance mode)下也能够正常显示。但不幸的是,在更低版本的IE中,这种设置却并不能实现居中效果。所以若想在实际项目中使用这种方法,那么就要确保用户的 IE浏览器版本不低于6.0。

尽管在支持上不尽如人意,但大多数设计师都建议尽可能地使用这种方法。该方法也被认为是在各种用CSS实现元素水平居中方法中最正确、最合理的 一种。

2.使用text-align实现居中

另一种实现元素居中的方法是使用text-align属性,将该属性值设置为center并应用到body元素上即可。这种做法是彻头彻尾的 hack,但它却能兼容大多数浏览器,所以在某些情况下也自然必不可少。

之所以说它是hack,是因为这种方法并没有将文本属性应用到文本上,而是应用到了作为容器的元素上。这也给我们带来了额外的工作。在创建好布 局必须的div之后,我们要按照如下代码为body应用text-align属性:

之后会出现什么问题吗?body的所有子孙元素都会被居中显示。

因此,我们就需要用再写一条规则,让其中的文本回到默认的居左对齐:

可以想象这条附加的规则将带来一些不便。另外,真正完全遵循标准的浏览器并不会改变容器的位置,而只会让其中的文字居中显示。

3.组合使用自动外边距和文本对齐

因为文本对齐居中方式有着良好的向下兼容性,且自动外边距方式也被大多数当代浏览器支持,所以很多设计师将二者组合起来使用,以期让居中效果得 到最大限度的跨浏览器支持:

可是这始终是个hack,无论如何也算不上完美。我们还是需要为居中容器中的文本编写附加的规则,但至少在各个浏览器中看起来都不错。

4.负外边距解决方案

负外边距解决方案远不是仅仅为元素添加负外边距这么简单。这种方法需要同时使用绝对定位和负外边距两种技巧。

下面是该方案的具体实现方法。首先,创建一个包含居中元素的容器,然后将其绝对定位于相对页面左边边缘50%的位置。这样,该容器的左外边距将 从页面50%宽度的位置开始算起。

然后,将容器的左外边距值设置为负的容器宽度的一半。这样即可将该容器固定在页面水平方向的中点。

虽然这并不是首选的解决方案,但

利用CSS使网页居中对齐

文章来源:网络 文章作者: 发布时间:2006-04-14 字体: [大

小]

如何使DIV居中

主要的样式定义如下:

body {TEXT-ALIGN: center;}

#center { MARGIN-RIGHT: auto; MARGIN-LEFT: auto; }

说 明:

首先在父级元素定义TEXT-ALIGN: center;这个的意思就是在父级元素内的内容居中;对于IE这样设定就已经可以了。 但在mozilla中不能居中。解决办法就是在子元素定义时候设定时再加上“MARGIN-RIGHT: auto;MARGIN-

LEFT: auto; ”

需要说明的是,如果你想用这个方法使整个页面要居中,建议不要套在一个DIV里,你可以依次拆出多个div, 只要在每个拆出的div里定义MARGIN-RIGHT: auto;MARGIN-LEFT: auto; 就可以了。

如何使图片在 DIV 中垂直居中

用背景的方法。举例:

body{BACKGROUND: url(/style/001/logo_w3cn_) #FFF no-repeat center;}

关 键就是最后的center,这个参数定义图片的位置。还可以写成“top left”(左上角)或者"bottom right"等,也可以直接写数 值"50 30"

效果如下:

如何使文本在DIV中垂直居中

如果是文字,便不能用背景方法,可以用增高行距的办法 变通实现垂直居中,完整代码如下:

test content

说 明:

vertical-align:middle;表示行内垂直居中,我们将行距增加到和整个DIV一样高line- height:200px;然后插入文字,就垂直居中了。

------------------------------------------------------------------

传统的做法:居中的布局

首先,由于是做比较,让我们来看一个例子,它是一种基于一个居中表格的页面设计。图表A中显示了一个例 子,以下是这个例子的编码:

 

cellspacing="10"bgcolor="#FFFFFF">

Header

Navigation

  • Let me not to the marriage of true minds
  • Admit impediments; love is not love
  • Which alters when it alteration finds

Main Content -- Love's not

time'


Footer text --

 

< table >这个标签包括了以下一些属性,将其宽度定义为页面宽度的80%,并将该表格置于页面的中间。在表格的前面有一个空白段落,这就使得页面的顶端与表 格的顶端之间有一些垂直空间。在表格的后面也有一个空白段落,这就使得页面的底端与表格的底端之间也有一些空间。这个表格包括两列三行。顶端的单元被合并 了,用来放置页眉,底端的行也合并了,以安置页脚,而中间那些单元则被分为两列,一个供放置主要内容,另一个则是导航工具栏。

这 是一个简单的例子,诠释的是一种多年以来广为人们使用的技术。在现今的那些应用软件中,有代表性的主要种包含了嵌套表格,用以创建一种复杂得多的版面设 计,不过,它的复杂性虽然被人为加大了,它所采用的基本技术却并没有改变。

将居中的设计转换成使用CSS

要 想将这种传统的基于表格的版面设计转换成用CSS,你只要用divs来代替那些表格和表格单元就行了。一个div取代表格本身,另一个取代那些单个的表格

单元,这些单个的表格单元定义了主要的版面设计元素,诸如标题,页脚,导航工栏,以及主要内容。每个div都有一个id,且它们的id都是独一无二的,你 可以用一个CSS选择器来让它们创建各自不同的样式,每一种样式对应于div中的一种,这种对应关系依据id而建立。那个取代表格的div被标上了id= 外部,其它那些div则靠他们各自的功能来鉴别。

这是已校订过的用div代替表格的XHTML的编码:

Main Content -- Love's not time'

注意一下所有那些陈述的格式,原来它们被包括 在

标签中,现在已经被移走了。而那些位于表格前面和后面的空白段落也都不见了。CSS格式会处理所有的 格式化以及空间的问题。

以下是CSS的编码,就是这些编码,将页面设计成一种居中的样式,这种设计与前面所说的基于表 格的设计很类似:

body {

background-color: #999999;

font-size:12px;

font-family:Verdana, Arial, Helvetica, sans-serif;

}

div#outer {

width: 80%;

background-color:#FFFFFF;

margin-top: 50px;

margin-bottom: 50px;

margin-left: auto;

margin-right: auto;

padding: 0px;

border: thin solid #000000;

}

div#header {

padding: 15px;

margin: 0px;

text-align: center;

}

div#nav {

width: 25%;

padding: 10px;

margin-top: 1px;

float: left;

}

div#main {

margin-left: 30%;

margin-top: 1px;

padding: 10px;

}

div#footer {

padding: 15px;

margin: 0px;

border-top: thin solid #000000;

}

解析CSS编码

与基于表格 的版面设计比起来,它的主体样式并没有什么变化。它只不过设置了一下背景颜色,默认正文字体以及尺寸大小。

div#outer 是其中的一种样式,它是这一技术的关键。这就是前面提到过的以div取代表格的样式,它创建了居中的盒子,而这个盒子成了包容该页面所有内容的容器。将宽 度设置为80%的规则设定了该div的宽度,就跟表格标签的相应属性规定该表格的宽度一样。与此相类似,background-color: #FFFFFF为div建立了一个白色的背景,就如同表格中bgcolor="#FFFFFF"属性为表格设置白色背景一样。margin-top: 50px and margin-bottom: 50px则用顶端和底端的空白来取代表格中用来造成垂直空间的空白段落。

这一技术的 关键在于,外部div的中心要安排合适。这里存在一个难题,可以说是我们面临的一个挑战,即div没有像align="center"这样一个属性,这与 表格不同,表格中有这样一种属性。你可以在div的母元素(在本案例,指< body >标签)中使用text-align: center来将外部div置于中心位置。尽管除了正文以外,大多数浏览器还会为一些诸如div的块元素使用该队列,但是我们有证据可以证明它是对排列正 文这一属性的误用,而且它会使问题复杂化,就如同你创建一些额外的样式来使那些已按正常标准对齐的文字重新回到左边一样。

用CSS来将 块元素置于中心位置的正确方法是这样设置:margin-left: auto,margin-right: auto。这就指示浏览器自动计算页面两边合适的空白宽度,从而将div置于中心。border: thin solid #000000这一规则在外部div的周围添加了一个边界,这是因为用CSS添加很容易,而如果用表格的话就很难了。CSS

编码中的其它部份则规定了 div的页眉,页脚,nav,以及主要内容。

div#header和div#footer则设定了那些div的页边空白以及填料。此 外,div#header包含了text-align: center这一规则,它可以将页眉文本置于中心位置,div#footer则包含了border-top: thin solid #000000这一规则,它可以创建一个围绕该div的顶端边缘的边界,而在基于表格的版面设计中,与它相对应的则是位于页脚上方的一些水平线。

在 这个居中的盒子的中央,div#nav和div#main建立了两个纵列。在div#nav样式中,float: left这一规则将div推到它的母元素(外部div)的左边,而width: 25%这一规则将该div的宽度设置为它的母元素的25%。由于该nav div被移到了左端,其宽度也被限定了,这就为主要的div留下了活动空间,让它可以移到该nav div的右边,这样就取得了两个纵列的效果。div#main样式包含了左边页面空白30%的规则,以让主要文本排列在一个整齐的纵栏中,而不是分散开 来,甚至散到该nav纵栏外面。主要的div左边的空白页面比nav div中左边空白页面的宽度稍稍大一点。


本文标签: 居中 表格 元素

更多相关文章

wps表格宏被禁用如何解禁_宏被禁用怎么办?excelword宏已被禁用解决方法

8月前

excelword宏已被禁用解决方法来咯~小编将会告诉大家遇到“宏已被禁用”提示解决方法&#xff0c;这两个提示在excel和word中经常出现&#xff0c;怎么办呢?请试一试下文的方法吧。 --word宏已被禁用解决

latex换页_备忘 | Latex 双栏模式下表格太长怎么办?

8月前

“ Latex 双栏模式下表格太长怎么办&#xff1f;这一条够简单&#xff01;” 点击 Latex 双栏模式下表格太长怎么办&#xff1f; 作  者&#xff1a;marsggbo出  处&#

Angular2实现表格分页与搜索栏的实战教程

6月前

本文还有配套的精品资源&#xff0c;点击获取 简介&#xff1a;在Angular2项目中整合表格分页和搜索栏可以显著提升用户体验&#xff0c;尤其在数据量大的情况下。本文通过利用Bootstrap框架及An

Word表格断开到下一页?教你如何轻松连到上一页

6月前

Word表格断开到下一页?教你如何轻松连到上一页 在日常办公和学习中,Word文档是我们常用的文字处理工具,用于撰写报告、论文、简历等各种文档。在这些文档中,表格作为一种重要的数据组织和展示方式,经常被广泛使用。然而,在使用Word表格时

word-重复表格标题

6月前

步骤 1、选中要重复的表格标题 2、右击找到表格属性 3、在弹出的对话框里面点击行&#xff0c;在选项里面勾选☑️“在各页顶端以标题行形式重复出现”&#xff0c;默认是未勾选状态&#xff0c;然后确认。 结果

数据结构---名词解释简版

5月前

年月日发(作者:公众号代运营费用)数据结构----名词解释数据结构----名词解释.数据结构的概念数据结构是计算机科学中一种用来组织和存储数据的方式。它涉及到数据的组织方式、存储方式以及对数据的操作和访问方式。不同的数据结构适用于不同的应用

删除重复数据函数

5月前

年月日发(作者:系统中进程由三部分组成进程控制块正文段和数据段)删除重复数据函数要删除重复数据,可以借助哈希表的数据结构。哈希表可以实现()时间复杂度的查找、插入和删除操作,非常适合用于处理大规模的数据集。下面是一个示例的删除重复数据的函数

hashset的遍历

5月前

年月日发(作者:备份数据库的命令)的遍历(最新版)目录的概述的遍历方法.遍历的示例代码.结论正文一、的概述是集合框架中的一种数据结构,它基于哈希表实现,因此具有存储元素的快速查找、插入和删除功能。中存储的元素是唯一的,这意味着在添加元素时,

数据结构删除顺序表上指定的值

5月前

年月日发(作者:函数怎么使用)数据结构删除顺序表上指定的值数据结构是计算机科学中非常重要的一门学科,其中顺序表是最基本的数据结构之一。在顺序表中,我们可以通过下标来访问其中的元素,但是删除指定值时需要进行一些操作。下面将介绍如何在顺序表中删

layuitablerendererror回调函数

5月前

年月日发(作者:需要插件)是一款采用自身模块规范编写的前端框架,广泛用于快速开发界面。在使用的表格()模块时,可能会遇到一些需要处理错误的场景。在的表格组件中,是一个回调函数,用于当表格渲染出现错误时的处理。在的官方文档中,并没有直接提供一

crossaxisalignment 的意思

5月前

年月日发(作者:是什么意思)的意思在设计和排版中,轴线对齐()是一种重要的布局方式,它能够提高布局的整洁性和视觉效果。轴线对齐指的是沿着垂直或水平轴线对齐元素,使其在视觉上呈现出一种有序、协调的美感。首先,让我们解释一下的含义。这个词来源于

一个基于SVG的空间分析技术的研究

5月前

年月日发(作者:属性的值表示).,.,文章编号:-()--研究与设计微型电脑应用年第卷第期一个基于的空间分析技术的研究范磬亚,鞠海燕摘要:是互联网联盟()的正式推荐标准。如何在格式的矢量地图中,实现复杂空间分析,是一个有待研究的问题,借助空

CellTiter Glo Luminescent Cell Viability Assay Protocol

5月前

年月日发(作者:和对行内元素都起作用)-,,.-&.#-:..-:********************...................................................................

数据结构概述

5月前

年月日发(作者:宝贝详情页制作模板)数据结构概述数据结构是计算机科学中的重要概念,它涉及存储和组织数据的方法和原则。在计算机程序设计中,数据结构的选择和设计对程序的性能和可维护性有着重要影响。本文将介绍数据结构的定义、分类以及常见的数据结构

wps如何在html中在线浏览器,wps如何设置表格内链接用电脑默认浏览器打开

3月前

以下为赞助商广告 wps是国内最受欢迎的文档编辑器之一&#xff0c;不知道从何时起&#xff0c;电脑可以不安装office&#xff0c;但不能不安装wps。 不过最近发现&#xff0c;升级之后的wps

Word:表格无法分页显示

2月前

造冰箱的大熊猫cnblogs 2019130 今天遇到一个Word中表格无法分页显示的问题&#xff0c;特记录下来以备后查 我们知道&#xff0c;在Word中将表格不设置为“允许跨页断行”&#xff0c;假设

WPS表格打印的时候有非常多的空白页应该怎么办?

2月前

老古偶尔在接收同事发来的表格数据文件打开预览发现有非常多的空白页&#xff0c;但是实际内容只有几页&#xff0c;如果直接这样打印不单单是页码错误&#xff0c;而且会浪费很多纸张&#xff0c;毕竟绝大多

word中的表格最底下内容写完后无法自动跳转到下一页继续编写的解决办法!

2月前

2 如上图所示&#xff0c;最底下内容写完了&#xff0c;结果超出表格范围的内容不见了&#xff0c;害得我只能每次控制表格内的字数。 解决办法如下&#xff1a; 1、选中表格鼠标右键&#

p元素里面的内容如果是英文不自动换行怎么办

2月前

加一个word-wrap&#xff1a;break-word word-wrap : normal | break-word 参数&#xff1a; normal :  允许内容顶开指定的容器边界break-word :  

Word表格跑到下一页,与正文或标题分离

22天前

方法1&#xff1a; 选中表格&#xff0c;打开表格属性&#xff0c;在行设置中&#xff0c;勾选“允许跨行分页”&#xff0c;如下图所示&#xff0c;再点击确定即可。 方法2&

发表评论

全部评论 0
暂无评论