admin 管理员组

文章数量: 887021


2024年2月23日发(作者:linux 手册)

注:此文由断指鹤搜集而来,都在高级浏览器下测试过,但不敢保证IE8以下会不会出现问题。

页面设计中垂直居中几种实现方式:

垂直居中主要用两种情况,第一种是内外元素的高度全定,这种情况处理起来相对简单,方法也很多;第二种是外高度定了,但内高度不定,这种情况处理起来相对困难。下面,便介绍下两种情况下的解决方案。

 内外元素高度全部确定的情况

1、line-height与height值设相同值。

此种方法最简单,但局限性很大,只有单行文本才能够适用。具体示例如下:

 CSS写法:

.vertical{

}

 HTML写法:

this is a test

此方法优点:适合在所有浏览器,没有足够空间时,内容不会被切掉。

此方法缺点:仅适合应用在文本和图片上,并且这种方法,当你文本不是单行时,效果极差,差到让你感到恶心。

2、给父容器设置相对定位,然后将本元素也设置为相对定位,topheight: 100px;

line-height:100px;

设置成50%,margin-top设置成:height/2,具体示例如下:

 CSS代码:

.out{

position:relative;

width:400px;

height: 400px;

border: solid 1px gray;

}

. .vertical{

height: 100px;

width: 100px;

border: solid 1px gray;

position:relative;

top:50%;

margin-top:50px;

}

 HTML代码:

此方法优点:能够在多浏览器下运行,适用任何定高的div。

此方法缺点:由于固定死元素的高度,致使没有足够的空间,当内容超过容器的大小时,要么会消息,要么会出现滚动条(如果元素在body内,当用户缩小浏览器窗口时,body的滚动条将不会出现)。

3、这种方法有点新意,用这种方法你需要在居中元素前面放一个空的

(块元素就可以),然后设置这个
的高度为50%,margin-bottom为元素高度的一半,而且居中元素需要清除浮动。需要注意的是,使用这种方法,如果你的居中元素是放在body中的话,你需要给html,body设置一个“height:100%”的属性。

 CSS代码:

html,body {height: 100%;}

#floater{

}

#content {

}

 HTML代码:

Content section

clear:both;/*清除浮动*/

height: 240px;

position: relative;

float:left;

height:50%;/*相对于父元素高度的50%*/

margin-bottom: -120px;/*值大小为居中元素高度的一半*/

此方法优点:兼容所有浏览器。

此方法缺点:元素高度需确定,内容不够时,若设置overflow属性,元素会被切掉,或是出现滚动条;

内外元素高度全部确定实现方法挺多的,这里就不一一介绍了,下面介绍下外高度定,内高度不定的情况。

 外层元素高度确定,内层高度不确定的情况

1、使用div的模拟表格效果,也就是说将多个

的“display”属性设置为 “table”和“table-cell”,并设置他们的“vertical-align”的属性值为“middle”。

 CSS代码:

#container {

height: 300px;

display: table;/*让元素以表格形式渲染*/

}

#content {

display:table-cell;/*让元素以表格的单元素格形式渲染*/

vertical-align: middle;/*使用元素的垂直对齐*/

}

 HTML代码:

content

此方法优点:没有高度限制;

此方法缺点:这种方法只适合现代浏览器,在IE6-7下无法正常运行。

5、这种方法是采用的display:inline-block,然后借助另一个元素的高度来实现居中

 CSS代码:

#parent {

height: 500px;/*定义高度,让线盒型div#extra有一个参照物,可以是固定值,也可以是百分比*/

border: 1px solid red;

}

#vertically_center{

display: inline-block;

width: 100%;

vertical-align: middle;

border: 1px solid #f00;

}

#extra {

display: inline-block;/*把元素转为行内块显示*/

vertical-align: middle;/*垂直居中*/

height: 100%; /*设置线盒型为父元素的100%高度*/

}

 HTML代码:

I am vertically centered!

此方法优点:可自适应高度,简单易懂;

此方法缺点:需一个额外的标签,且IE6-7不支持block-inline属性,所以其在IE6-7下不起作用;

6、用line-height来定义最外层的行高(例如:原来的height为200px,此方法将line-height设置为200px,不给height设值)

 CSS代码:

.vertical-outer{

}

.vertical-inner{

line-height: 24px;

vertical-align: middle;

display: inline-block;

font-size: 18px;

line-height: 150px;

border: 1px dashed #ccc;

width: 300px;

margin-bottom: 6px;

}

HTML代码:

this is a test this is a test this is a test

this is a test this is a test

此方法优点:可自适应高度,简单易懂

此方法缺点:只支持HTML,且需要一个margin-bottom的修正值,为内部元素行高的四分之一。

以上便是常见的用CSS实现元素居中的方法了,当然,面对一些特殊问题,一些难处理的垂直居中,可以考虑用JS来处理。


本文标签: 元素 高度 方法 居中 浏览器

更多相关文章

去除windows激活水印的方法

1月前

首先,在电脑上打开记事本,可以通过单击开始菜单搜索“记事本”并按Enter键来完成此操作。 在记事本上输入以下命令: echo off taskkill F IM

腾讯QQ中批量删除好友的方法

29天前

不知道腾讯为什么不增加这个功能,这个需求是有的,为啥不做呢?不懂 网上看到有这种需求,好友多了,好多不联系的&#xff0c

服务器2012还原系统,Windows Server 2012升级R2过程中意外关闭恢复原系统方法

28天前

2012升级R2过程中强制关闭了计算机,导致再次启动后蓝屏提示"BAD_SYSTEM_CONFIG_INFO"。用2012安装盘进入尝试修复失败(安全模式什么的都不用想),进入

成功率很高的硬盘坏道软修复方法——————【Badboy】

27天前

硬盘坏道(特别是物理坏道)是硬盘的所有故障中最让人头痛的。它轻则使你的爱机频频死机,重则让你的所有数据化为乌有。以前我们一般只能采用低格或隐藏的方法。不过低格会对硬盘的寿命造

台式电脑重装系统Win7的方法 台式机怎么重装win7

27天前

亲爱的小伙伴们!今天我要给大家分享一个实用的技巧,就是如何用一键重装系统轻松搞定你的Win7电脑!是不是有时候电脑运行慢了,系统出了点问题&#x

【浏览器】五大最好用的浏览器 最受欢迎的浏览器软件

26天前

人不走空 🌈个人主页:人不走空       💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目

windows7设置任务栏按钮【从不合并】并且【隐藏标签】的方法

24天前

问题: 右击任务栏,选择属性,可以设置任务栏按钮,有“当任务栏被占满时合并”、“始终合并、隐藏标签”和“从不合并”。设置任务栏按钮为始终合并&

windows7搭建yum源的方法

24天前

windows7搭建yum源的方法 在虚拟机上多台linux测试时候,常会遇到需要安装rpm包的情况。每次挂载光盘都挺费事的,索性直接在本机搭建yum源,将虚拟机的repo

win7计算机之间传输文件,让两台win7电脑实现互传文件的方法

24天前

有时候需要两台win7电脑之间相互传送文件,有什么办法可以实用文件互传呢?方法当然是有的,网上也有很多相关的教程,但是操作起来比较麻烦。所以在这里小编教

计算机工具软件安装攻略:Chrome浏览器下载安装及使用

19天前

1 Chrome简介 Chrome是谷歌公司开发的一款免费网页浏览器它快速、稳定、安全拥有简洁流畅的界面和丰富的应用程序内置了强大的谷歌搜索引擎。Chrome使用Blink浏览器引擎和V8 JavaScript引擎支持多种插件和扩展程序让

移动端浏览器UA大全 合集18248个

19天前

移动端浏览器UA大全 合集18248个 【下载地址】移动端浏览器UA大全合集18248个分享 本仓库提供了一个包含18248个移动端浏览器User-Agent(UA)的资源文件。这些UA字符串涵盖

Windows7下VB6的安装方法~

18天前

之前写过一篇日志,关于VB6程序在Windows7下运行的问题(http:www.dingcrownsoftblogLog?ID28.html) 。那么,如果要在Windows7下

在windows710系统下安装TensorFlow-GPU版本的方法

16天前

本安装方法适用于windows7和windows10,小白请严格按照步骤来,此处我以TensorFlow-gpu 1.8为例来讲解,如果装tensorflow-gpu的新版本

icc校色文件使用教程_Windows7色彩管理显示器ICC设置方法

13天前

自从使用Windows 7之后,发现Windows 7并不会自动调用校色后的显示器icc文件。甚至人工切换icc文件时,颜色竟然没跟着转换(这代表icc对应的显卡LUT没有被上载到显示适配器去)&

UOS共享文件夹给windows系统访问的方法

12天前

1、前提条件:UOS主机和windows主机处于同一个局域网内 2、在UOS主机中选择需要共享的文件夹点击右键,把共享文件夹勾选上,可以允许匿名访问(即不需要输入任何账号密码),选择完成后退出。 3、在UOS系统上右键点击打开终端,输入if

通过 6 种可靠方法轻松将三星手机连接到 PC

11天前

事实上,智能手机已经成为我们的好伙伴。它们极大地改变了我们工作、娱乐和与他人交流的方式。得益于他们的发明,我们可以与朋友取得联系、在移动中访问文件并轻松执行各种任务。尽管如此&#xff0c

windows11安装方法

11天前

一、查看系统推送 看是否有系统推送,具体操作为打开“设置”,点击“更新和安全”,查看“系统更新”,如果有提示可升级WIN11直接点击升级即可 二、电脑系

Windows中BeautifulSoup的安装方法

11天前

核心内容:1、BeautifulSoup的下载方法2、BeautifulSoup的安装方法3、检验是否安装成功 今天在工作当中用到了BeautifulSoup,从网上参考的资料当中大部

win11天气小组件如何开启 Windows11开启天气组件的设置方法

11天前

Win11如何在任务栏开启天气?最近小编发现通过一个工具可以打开Win11的隐藏功能,如通过vivetool这款工具,DEV通道22518.1000已经可以在任务栏开启天气了,下面一起来看看操作方法吧!更多Windows11安装教程可以参考

国内Chrome浏览器下载安装教程,谷歌浏览器最新下载教程

1天前

今天主要讲解的是国内Chrome浏览器下载安装教程,谷歌浏览器最新下载教程,包括确认浏览器版本、ChromeDriver 驱动的下载,同理,这个教程同样

发表评论

全部评论 0
暂无评论