html 元素水平居中方式

本文将简单叙述元素居中的基本方法。

代码区:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>center</title>
 6
 7 </head>
 8 <body>
 9 <h1 style="text-align: center">Html中元素的水平居中方式</h1>
10 <p style="text-align: center;">行内元素</p>
11 <div style="margin: 0 auto; width: 200px; text-align: center;">定宽块元素</div>
12 <table align="center">
13     <tr>
14         <td>
15             <div>不定宽块元素,方法1</div>
16         </td>
17     </tr>
18 </table>
19 <div style="text-align: center;">
20     <div style="display: inline-block;">不定宽块元素,方法2</div>
21 </div>
22 <div style="height: 30px;">
23     <div style="float: left; position: relative;left: 50%;">
24         <div style="position: relative;left: -50%;">不定宽块元素,方法3</div>
25     </div>
26 </div>
27 </div>
28 </html>

正文

一、需要进行水平居中的元素分类:

1,行内元素(不定宽)。

2,定宽块元素。

3,不定宽块元素。

二、基本居中方式:

1,行内元素:text-align:center;

2,定宽块元素:margin:0 auto;

三、不定宽块元素:

1.转化为定宽块元素:把元素封装在table中;table元素会随内容改变宽度,而其宽度值可以被获取到,则可以把table看作为定宽的块元素。

代码实现:

<table style=“margin: 0 auto;”>

<tr>

<td>

<div>align-center</div>

</td>

</tr>

</table>

2.转化为行内元素:把元素封装在一个块父元素中(宽度不影响);把元素设置成行内元素,把父元素设置居中属性(父元素中的子元素根据父元素的大小进行居中,而不是父元素进行居中)。

代码实现:

<div class=“parent”style=“text-align:center;”>

<div style=”display:inline;”>align-center</div>

</div>

3.使用三层结构,position属性:结构 great-parent>parent>div;great-parent为居中的参考体,parent向右偏移50%(以great-parent为基准),div向左偏移50%(以parent为基准)。

代码实现:

<div class=“great-parent”>

<div class=“parent”

style=“float:left;//获取内容区的宽;

position:relative;left:50%;”>

<div style=“position:relative;

left:-50%;”>align-center</div>

</div>

</div>

*思路:

great-parent参考体;parent父容器;div内容;

1.parent的宽度=div的宽度;

2.patent以great-parent的宽度为基值,向右偏移50%;这时,parent和div的基线(左侧临界线)到达great-parent的中轴线;

3.div以parent的宽度为基值,向左偏移50%;因为parent的宽度=div的宽度,所以div的中轴线和parent的基线以及great-parent的中轴线重合,到达div居中于great-parent的效果。

*难点:float的作用;

由于未设定宽度值的块元素,载入时会继承父元素的宽度值,

一开始所有的元素的宽度值都等于great-parent的宽度;

当执行“float=left;”时,parent的宽度值会被重新赋值,

该值来自其内容的宽度;

parent中只有div,浏览器会计算div的大小,而div自身也没有设定宽度值,则继续计算div内部内容的大小,div内部有字符或者其他内容,div将计算这些内容的显示大小;

然后,div把这个值往上逐级返回到浏览器,浏览器再把这个值赋给parent的宽度值。

最后,由于parent的宽度值被重新赋值,div就再次继承parent的新的宽度值。parent的宽度=div的宽度=div内部内容的宽度。

时间: 2024-07-31 02:22:34

html 元素水平居中方式的相关文章

如何让绝对定位的元素水平居中

如何让绝对定位的元素水平居中:本章节介绍一下如何让一个绝对定位的元素实现水平居中效果,希望能够给需要的朋友带来一定的帮助.如果一个块级元素没有采用绝对定位,那么使用margin:0px auto就可以实现此效果,但是对于采用绝对定位的元素并不适用,下面就介绍一下如何实现此效果,代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="au

css如何让浮动元素水平居中

对于定宽的非浮动元素我们可以在CSS中用 margin:0 auto 进行水平居中,对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题.解决水平居中问题有很多种方法,下面先给大家分享一下三种方法,希望能帮助到大家. 方法一: 1.HTML 部分: <div class="box"> <p>我是浮动的</p> <p>我也是居中的</p></div> 2.CSS 部分: .box{ float:left;

行内和块状元素水平居中与单行或多行文本垂直居中及隐性改变display类型

行内元素水平居中如何设置?如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>行内水平居中设置</title> 6 <style type="text/css"> 7 div.box

css让浮动元素水平居中

对于定宽的非浮动元素我们可以用 margin:0 auto; 进行水平居中. 对于不定宽的浮动元素我们也有一个常用的技巧解决它的水平居中问题.如下: HTML 代码: <div class="box"> <p>我是浮动的</p> <p>我也是居中的</p> </div> CSS 代码: .box{ float:left; position:relative; left:50%; } p{ float:left; p

网页元素居中攻略记_(1)元素水平居中

行内元素水平居中 方案 行内元素包裹在一个属性display为block的父层元素中,父块text-align:center即可实现 代码实现 index.html <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>行内元素水平居中</title> <style type="text/css

六种实现元素水平居中

转载自:https://www.w3cplus.com/css/elements-horizontally-center-with-css.html 居中效果在CSS中很是普通的效果,平时大家所看到的居中效果主要分为三大类:水平居中.垂直居中和水平垂直居中.而其中水平居中相对于后两者来说要简单得多.早期总结了一下互联网上有关于水平垂直居中的几种实现方案,比如说<CSS制作水平垂直居中对齐>中介绍了八中实现水平垂直的方案,而在<CSS制作图片水平垂直居中>一文介绍了四种实现图片垂直居

元素水平居中的几个方法

1.行内元素的居中, 例如想设置文本.图片等行内元素水平居中时,可以通过父元素设置 text-align:center 来实现,即给需要设置的元素添加一个父元素的容器,然后设置这个父元素(容器)的text-align属性即可.方法简单,原理也很容易理解,需要注意的是只能针对行内元素: <!-- <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&g

css 使元素水平居中

css使元素水平居中 1.对于行内元素的水平居中 给父元素设置text-align:center <div style="text-align:center;">居中显示</div> 2.定宽块状元素水平居中 <div style="width:200px;margin:20px auto;";>居中显示</div> 注:对于以上情况可以灵活应用 可以将元素设置 display:inline ,将其变为行内元素,再按照

Js之Dom学习-三种获取页面元素的方式、事件、innerText和innerHTML的异同

一.三种获取页面元素的方式: getElementById:通过id来获取 <body> <input type="text" value="请输入一个值:" id="txt"/> <input type="button" value="按钮" id="btn"/> <script> var txt=document.getElementB