Div 与 CSS 如何实现上下居中

html-css06

Div 与 CSS 如何实现上下居中,第1张

方法1:

.parent {

          width:800px

          height:500px

          border:2px solid #000

          position:relative

}

 .child {

            width:200px

            height:200px

            margin: auto  

            position: absolute  

            top: 0 left: 0 bottom: 0 right: 0 

            background-color: red

}

方法2:

.parent {

            width:800px

            height:500px

            border:2px solid #000

            display:table-cell

            vertical-align:middle

            text-align: center

        }

        .child {

            width:200px

            height:200px

            display:inline-block

            background-color: red

        }

方法3:

.parent {

            width:800px

            height:500px

            border:2px solid #000

            display:flex

            justify-content:center

            align-items:center

        }

        .child {

            width:200px

            height:200px

            background-color: red

        }

方法4:

.parent {

            width:800px

            height:500px

            border:2px solid #000

            position:relative

        }

        .child {

            width:300px

            height:200px

            margin:auto

            position:absolute/*设定水平和垂直偏移父元素的50%,

再根据实际长度将子元素上左挪回一半大小*/

            left:50%

            top:50%

            margin-left: -150px

            margin-top:-100px

            background-color: red

        }

这样:

body{margin:0padding:0width:100%

height:100%

}div{position:absolutetop:50%left:50%margin-top:-250px margin-left:-250px/*此时宽和高都要固定*/width:500pxheight:500px}body{

margin:0

padding:0

width:100%

height:100%

}

div{

position:absolute

top:50%

left:50%

margin-top:-250px

margin-left:-250px

/*此时宽和高都要固定*/

width:500px

height:500px

}

扩展资料:

注意事项

一、用两个值就可以了

1、text-align:center

//这是让文字左右居中

2、line-height:100px

//这是让文字垂直居中

vertical-align:middle

//这个属性不能让文字垂直居中,该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

二、多行文本垂直居中分为两种情况,一个是父级元素高度不固定,随着内容变化;另一个是父级元素高度固定。

1、父级元素高度不固定

父级高度不固定的时,高度只能通过内部文本来撑开。可以通过设置内填充(padding)的值来使文本看起来垂直居中,只需设置padding-top和padding-bottom的值相等:

<!--html代码-->

<divid="div1">

这是多行文本垂直居中,

这是多行文本垂直居中,

这是多行文本垂直居中,

这是多行文本垂直居中。

</div>

/*css代码*/

#div1{

width:300px

margin:50pxauto

border:1pxsolidred

text-align:center/*设置文本水平居中*/

padding:50px20px

}

2、父级元素高度固定

只对拥有valign特性的元素才生效,结合display:table,可以使得div模拟table属性。因此可以设置父级div的display属性:display:table;然后再添加一个div包含文本内容,设置其display:table-cell和vertical-align:middle。

1、首先先进行文本框的插入,在word文档编辑界面上,单击上方工具栏中的“插入”按钮,包括文本框,所有的插入选项都在这里。

2、在“插入”选项的下拉工具栏中,选择如图所示“文本框”图标单击。

3、接下来会弹出文本框样式的选择框,在里面可以根据需要选择文本框样式。这里以简单文本框为例,单击选择框中的”简单文本框“。

4、在文档编辑区出现的如图所示文本框中,将原有的选择文字删去就可以编辑文字了。

5、编辑好文字后,选中刚才编辑的文字。接下来进行的是对于文字居中了。

6、单击上方工具栏中的“开始”选项,会出现下拉工具栏。关于文本的设置就在这里。

7、在“开始”选项的下拉工具栏中,“段落”设置中的“居中”设置。

8、至此设置完毕,可看到文本框中选中的文字已经在文本框中央,单击任意空白处取消选中即可。

9、完成效果如下。