【问题标题】:Image has unwanted padding/space around it图像周围有不需要的填充/空间
【发布时间】:2021-01-04 08:27:36
【问题描述】:

我正在尝试使用 css 定位圆形图像,但结果发现它周围有一些透明空间/填充! 这是图像:

我尝试了padding: 0;margin: 0;,但它不起作用!这个空间弄乱了所有其他元素的布局和位置!

这是 html(内部正文标签):

<body>
    <div class="container">
        <DIV class="navbar">
            <div class="logo">
                <img src="images/logo.png">
            </div>
            <nav>
                <ul>
                    <li><a href="#">About</a></li>
                    <li><a href="#">Library</a></li>
                    <li><a href="#">Blog</a></li>
                    <li><a href="#">Contact</a></li>
                </ul>
            </nav>
            <div class="user">
                <p>"User's name"</p>
                <img src="images/girl.png">
            </div>
        </DIV>
    </div>

</body>

这是完整的 CSS:

*{
    margin: 0;
    padding: 0;
    font-family: sans-serif;
}
.container{
    width: 100%;
    height: 100vh;
    background-image: url(images/background.jpg);
    background-position: center;
    background-size: cover;
    position: relative;
    padding-top: 2em;
    box-sizing: border-box;
}
.navbar{
    width: 100%;
    height: 60px;
    display: flex;
    align-items: center;
    background: rgba(29,33,61,0.5);
    padding: 0 60px;
    box-sizing: border-box;
}
.logo{
    width: 155px;
}
.logo img{
    width: 2.2em;
    position: relative;
    z-index: 10;
    cursor: pointer;
}
nav{
    display: flex;
    flex: 1;
}
nav ul li{
    list-style: none;
    display: inline-block;
    margin-right: 60px;
}
nav ul li a{
    text-decoration: none;
    color: #fff;
    font-size: 14px;
}
.user{
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 14px;
}
.user img{
    width: 270px;
    cursor: pointer;
    padding: 0;
    margin:  0;
    position: relative;
    top: 10px;
    left: 50px;
}

如何处理这种情况?还有更好的选择吗?

【问题讨论】:

  • 您是否考虑了此 PNG 图像的 alpha 通道/透明背景?如果不是,那可能就是问题所在。
  • 我想我不是!谢谢!............但是你能提供确切的解决方案吗?我需要编辑图像吗?使用另一个?其实我对 alpha 通道/透明背景 的东西了解不多!

标签: html css image position padding


【解决方案1】:

我认为您的问题来自图像具有您看不到的透明背景这一事实,特别是因为您确认您没有考虑到它。

我编辑了图片以裁剪背景。

尝试使用这张图片而不是您帖子中的图片:

【讨论】: