页面元素居中的几种方法

1前言

做页面布局时,经常会需要将一些页面元素居中显示。当然,你可以设定元素的top、left来使它居中,但是,当父容器的大小发生变化,你不得不修改子元素的top、left来使它保持居中;当用户的显示器分辨率与你的测试机不同,可能会导致界面乱成一片,所以不管从代码的易维护性的角度还是从对不同分辨率显示器的适应性方面来说,这种设置固定值的方法显然是比较拙劣的。因此,做页面布局,应尽量减少使用固定值的布局方式。下面介绍几种页元素居中的方法。

1Div居中

1.1左右居中

在父窗口中设置text-align:center,要注意的是,此方法只对内联元素起作用,所以要在居中的div中设置display:inline-block。以下代码中红线部分表示了如何让3个div在itemContainer中居中显示。

如果是单个元素居中,也可以用margin:0auto,但此方法不能使多个元素在父窗口中居中。

1.2上下居中

text-align属性只能设置左右居中,上下居中可以采用如下方法:top:50%;margin-top:-40px。top:50%设置div顶部位于父容器高度50%的地方,但是div本身有高度,margin-top:-40px表示上移div自身高度的一半。要注意的是父容器要设置overflow:auto,否则以上设置会影响父容器的大小。

如果需要上下左右同时居中,则与2.1所示方法结合使用。

以下代码中红线部分表示了如何使itemContainer在整个页面中居中显示。

2文本居中

方法一:把文本放在div标签中,然后按照div居中的方法设置居中

方法二:左右居中text-align:center,上下居中可以设置在文本的父容器中设置line-height等于父容器高度,如以下代码所示。

3背景图片居中

设置background: 50% 50%,可调整这两个参数使用仅上下居中(background: 0% 50%)和仅左右居中(background: 50% 0%)。

4测试用例

<%@page contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>

<!DOCTYPEhtml PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">

<htmlstyle="width:100%;height:100%">

<head>

<style type="text/css">

.item{background:url("pic.png")no-repeat 50% 50%;position:relative;display:inline-block;width:80px;height:80px;outline:solid2px #000000;;line-height:80px}

</style>

</head>

<bodystyle="width:100%;height:100%;margin:0px;overflow:auto">

<div id="itemContainer"

style="position:relative;width:400px;height:80px;outline:solid 2px#ff0000;text-align:center;top:50%;margin:0 auto;margin-top:-40px">

<div class="item">

测试

</div>

<div class="item">

测试

</div>

<div class="item">

测试

</div>

</div>

</body>

</html>

时间: 2024-12-28 10:48:57

页面元素居中的几种方法的相关文章

元素居中的几种方法

元素居中的几种方法: ① 块级元素margin:0 auto; 针对嵌套的盒子元素,子元素在父元素中居中,只在水平方向上有效,浮动流排版中不可用 ② 内联元素text-align:center; 对块级元素设置此属性,使得盒子内的内联元素居中,一般包括文字/图片等 ③ 背景background-position:center top; 主要实现背景图片的居中 ④ 文字行内垂直居中 一行文字垂直居中:文字行高line-height的值与盒子的高度一致 多行文字垂直居中:文字内边距设置padding

使用CSS完成元素居中的七种方法

在网页布局中元素水平居中比元素垂直居中要简单不少,同时实现水平居中和垂直居中往往是最难的.现在是响应式设计的时代,我们很难确切的知道元素的准确高度和宽度,所以一些方案不大适用.据我所知, 在CSS中至少有六种实现居中的方法.我将使用下面的HTML结构从简单到复杂开始讲解: <div class="center">  <img src="jimmy-choo-shoe.jpg" alt></div> 鞋子图片会改变,但是他们都会保持

div等块级元素居中的两种方法

以下两种方法是针对宽度确定的块级元素而言的 1.设置块级元素CSS属性为: margin: 0 auto: 即左右margin设置为auto. 2.设置块级元素的display为inline(此时要求块级元素包含内容,否则由于内联元素的高度设置不起作用,相当于高度为零,块级元素就无法被看到)或者inline-block. 该块状元素的父级元素CSS设置: text-align:center; 此时会将该块状元素看作text进行居中处理.

css中元素居中的几种方法

对于在网页端布局,垂直居中难于水平居中,同时实现水平和垂直居中是最难的.在移动端,因为设备的宽高是可变的,故一些方案很难实现.以下使用几种方案对下面的html去实现居中,如有不足,可以提出宝贵的意见: <div class="center"> <img src="1.jpg" alt> </div> 1. 使用text-align水平居中 这种方案只能使水平居中,要想垂直居中的话,要给div添加padding或给内容添加margi

元素居中的三种方法(包括垂直居中和水平居中)

第一种方案:分别设置垂直居中和水平居中 第二种方案:未知居中元素的尺寸的居中方案 第三种方案:已知所要居中元素尺寸的居中方案 当然图片的居中也差不多 1 <html> 2 <head> 3 <style> 4 .box2,.box3{ 5 float: left; 6 } 7 .box { 8 /*非IE的主流浏览器识别的垂直居中的方法*/ 9 display: table-cell; 10 vertical-align:middle; 11 /*设置水平居中*/ 12

CSS绝对定位元素居中的几种方法

CSS居中绝对定位元素的方法,有很多种,下面是我收集的几种 1,div宽度未知1 <body> <div style="position: absolute; left: 50%;"> <div style="position: relative; left: -50%; border: dotted red 1px;"> 没有宽度<br /> 照样居中,嘿嘿嘿 </div> </div> &l

使定位元素居中的4种方法例举

例子: 创建两个div,定位父级'box'  和   定位元素'sun'.本文要做的是 'sun' 要在 'box' 中居中显示, 该怎么做呢? 定位前效果图: 定位元素居中后的效果图: HTML代码: <!--定位元素父级--> <div id="box"> <!--定位元素--> <div id="sun"></div> </div> 样式代码: <style type="t

DIV居中的几种方法

DIV居中的几种方法 1. 1 body{ 2 text-align:center; 3 } 缺点:body内所有内容一并居中 2. .center{ position: fixed; left: 50%; } 缺点:需要设置position属性,网页复杂时容易扰乱页面布局,而且只是元素的起始位置居中 3. 1 .center{ 2 width:500px; 3 margin: 0 auto; 4 } 缺点:需要设置div宽度 4. 1 .center { 2 display: -webkit-

HTML 页面跳转的五种方法

H方法TML 页面跳转的五种方法 下面列了五个例子来详细说明,这几个例子的主要功能是:在5秒后,自动跳转到同目录下的hello.html(根据自己需要自行修改)文件.1) html的实现 <head><!-- 以下方式只是刷新不跳转到其他页面 --><meta http-equiv="refresh" content="10"><!-- 以下方式定时转到其他页面 --><meta http-equiv="