CSS-图片宽度大于父元素宽度时,水平居中 。

图片宽度大于父元素宽度时,水平居中。

如果图片宽度大于父元素宽度,不能使用 margin: 0 auto;或者text-align: center;让图片居中

使用定位

弊端:受图片大小限制

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
             800px;
            height: 1000px;
            background-color: aqua;
            margin: 0 auto;
        }

        img {
            position: absolute;
            left: 50%;
            margin-left: -960px;
        }
    </style>
</head>

<body>
    <div>
        <img src="./img.jpg" alt="">
    </div>
</body>

</html>
使用transform优化
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
             800px;
            height: 1000px;
            background-color: aqua;
            margin: 0 auto;
        }

        img {
            position: relative;
            left: 50%;
            /* margin-left: -960px; */
            transform: translateX(-50%);
        }
    </style>
</head>

<body>
    <div>
        <img src="./img.jpg" alt="">
    </div>
</body>

</html>
奇技淫巧

margin: 0 -100%;必须和父元素 text-align: center;搭配使用

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
             800px;
            height: 1000px;
            background-color: aqua;
            margin: 0 auto;
            text-align: center;
        }

        img {
            margin: 0 -100%;
        }
    </style>
</head>

<body>
    <div>
        <img src="./img.jpg" alt="">
    </div>
</body>

</html>

原文地址:https://www.cnblogs.com/toyz9/p/14052776.html