html中块级元素的水平垂直居中

一、如果父级元素的宽高和子级元素的宽高都固定,可以直接用元素定位(relative、absolute)的方法让子级元素处于父级元素中央。

二、如果父级元素的宽高不定,而子级元素的宽高固定,则可以采用css3的新增属性calc来使子级元素水平、垂直方向处于父级中央。calc可以给元素的width、height、margin等设置动态值。

clac语法:calc() = calc(四则运算)

说明
用于动态计算长度值。
需要注意的是,运算符前后都需要保留一个空格,例如:width: calc(100% - 10px);
任何长度值都可以使用calc()函数进行计算;
calc()函数支持 “+”, “-“, “*”, “/” 运算;
calc()函数使用标准的数学运算优先级规则;

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>clac</title>
    <style>
        html,body{
            width: 100%;
            height: 100%;
            margin: 0;
        }
        #div{
            width: 200px;
            height: 200px;
            background: red;
            position: absolute;
            left: -webkit-calc(50% - 100px);
            top: -webkit-calc(50% - 100px);
        }
    </style>
</head>
<body>
    <div id="div"></div>
</body>
</html>

效果

这里写图片描述

三、如果父级元素和子级元素的宽高都不定,则可以采用flex布局来使子级元素在父级元素中水平垂直居中显示。

flex布局详细讲解转到此处

代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>flex布局</title>
    <style>
        html,body{
            width: 100%;
            height: 100%;
            margin: 0;
        }
        body{
            display: flex;
            justify-content: center;
            align-items: center;
        }
        #div{
            background: red;
        }
    </style>
</head>
<body>
    <div id="div">
        <h1>
            flex布局
        </h1>
    </div>
</body>
</html>

效果

这里写图片描述

注:以上所讲实际写的时候请注意加上浏览器前缀。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值