• 标签居中


    目录:

    1、水平居中

    2、垂直居中

    一、水平居中

    块级标签:设置 margin : 0 auto

    行内标签:设置 text-align : center

    行内-块级标签:设置 text-align : center

    块级标签水平居中

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<style>
    			#box{
    				 350px;
    				height: 200px;
    				background-color: red;
    				margin: 20px;
    			}
    			.test1{
    				background-color: greenyellow;
    				 150px;
    				height: 40px;
    			}
    		</style>
    	</head>
    	<body>
    		<div id="box">
    			<div class="test1">我是块级元素</div>
    		</div>
    	</body>
    </html>
    

    现在让绿色的块级标签水平居中,同时让绿色块级标签的文字内容水平居中。

    设置 text-align 实现了块级标签内的文字水平居中:

    计算大div宽度跟小div宽度,然后设置 margin-left 实现绿色的块级标签水平居中:

    实现了。但是,如果使用这种方式,一旦改变了大 div 的 width 或者小 div 的 width,就要重新计算 margin-left。

    使用自适应的方法更好。

    也可以把 text-align 写到 test1 样式里。

    之所以写到 box 样式里也可以是因为 text-align 是可以被继承的。在子盒子里找不到就回到父盒子里面找 text-align。

    行内-标签水平居中

    margin : 0 auto 只在块级标签上好使。在行内标签上不好使。

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="utf-8">
    		<title></title>
    		<style>
    			#box{
    				 350px;
    				height: 200px;
    				background-color: red;
    				margin: 20px;
    			}
    			span{
    				background-color: skyblue
    			}
    		</style>
    	</head>
    	<body>
    		<div id="box">
    			<span>我是行内标签</span>
    		</div>
    	</body>
    </html>
    

     让它水平居中:

    行内块级标签水平居中

    让它水平居中:

    二、垂直居中

    块级标签:

    行内标签:在父盒子样式中设置 line-height 等于 父盒子 height

    行内-块级标签:在父盒子样式中设置 line-height 等于 父盒子 height

    行内标签垂直居中

    需要先了解 line-height

    实现垂直居中前:

    实现垂直居中:

    实现了垂直居中。

    下面来了解一下 line-height,举几个例子来了解一下。

    分别设置 line-height 为以下值,行内标签的位置分别在:

    line-height : 200px

    line-height : 100px

    line-height : 300px

    行内-块级标签垂直居中

    实现垂直居中前:

    实现垂直居中:

    块级标签居中

    实现垂直居中前:

    想要实现垂直居中,如果只设置 line-height 会出现这样的效果:

    Q :为什么块级标签没有垂直居中,块级标签内的文字在父盒子中垂直居中了?

    A : 因为 line-height 也是可以被继承的,子盒子中没有 line-height, 但是父盒子中有line-height,子盒子就继承了 line-height。

    Q :如果想要文字在子盒子中垂直居中怎么办?

    A : 在子盒子里面重写 line-height

    实现盒子居中布局有2种方式:方式1:定位;方式2:伸缩布局

    方式1:定位

    要遵循 “ 子绝父相 ” 的原则。子标签绝对定位,父标签相对定位。

    这时子盒子左上角与父盒子中心点重合,需要让子盒子中心点到父盒子中心点。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8">
            <title></title>
            <style>
                #box{
                     350px;
                    height: 200px;
                    background-color: red;
                    margin: 20px;
    				line-height: 200px;
    				/*父相*/
    				position: relative;
                }
                .test1{
                    background-color: greenyellow;
                     150px;
                    height: 40px;
    				text-align: center;
    				line-height: 40px;
    				/*子绝*/
    				position: absolute;
    				left: 50%;
    				top: 50%;
    				margin-left: -75px;
    				margin-top: -20px;
                }
            </style>
        </head>
        <body>
            <div id="box">
                <div class="test1">我是块级元素</div>
            </div>
        </body>
    </html>
    

    实现了垂直居中。

  • 相关阅读:
    [CQOI2011]放棋子
    [JSOI2015]染色问题
    [ZJOI2016]小星星
    [NOI2018]你的名字
    bzoj2393 Cirno的完美算数教室
    [CQOI2012]局部极小值
    CF768F Barrels and boxes
    bzoj4402 Claris的剑
    烽火SATA SSD DSS200-B
    添加防火墙规则
  • 原文地址:https://www.cnblogs.com/xiaoxuStudy/p/12837692.html
Copyright © 2020-2023  润新知