html - 居中图像边缘的链接

标签 html css

我有一张图片也是一个链接,使用

<a href="link.html"><img src="img.png" id="cloud"></img></a>

然后我将它居中(并调整大小)使用

 #cloud
{
display: block;
margin-left:auto;
margin-right:auto;
height:45%;
}

问题是,链接的可点击区域延伸到整个网页,而不是仅仅延伸到图像。我该如何解决这个问题?

最佳答案

你总是可以使用absolute positioning .

HTML:

<a href="link.html" >
    <img id="centerimage" src="https://pbs.twimg.com/profile_images/378800000442759461/b483cdd049f470928e7b20051f95b8cc.jpeg" />
</a>

CSS:

#centerimage {
    position: absolute;
    left: 0;
    right: 0;
    top:0;
    margin: auto;
}

如果您需要将元素放置在文档结构 的范围内,您可以应用 wrapperCSSrelative .

HTML

<div class="wrapper">
    <a href="link.html" >
        <img id="centerimage" src="https://pbs.twimg.com/profile_images/378800000442759461/b483cdd049f470928e7b20051f95b8cc.jpeg" />
    </a>
</div>

CSS

.wrapper {
    position:relative;
    margin-top:25px;
}
#centerimage {
    position: absolute;
    left: 0;
    right: 0;
    top:0;
    margin: auto;
}

扩展:它在整个页面上显示您的链接的原因是因为您使用了 display:block;并且没有 wrapper或任何形式的收容措施。 display:block;本质上是一个 100%宽度元素。

此外,display:inline;也不会起作用,因为它会解决问题,但只需将其调整到屏幕的左边缘即可。如果它没有 100%宽度,无法设置 margins .

最简单的解决方案就是 wrapper在设置某种类型的 absolute position 时,将其放入并设置 wrapper 元素的样式用你的img .这将确保它保持在 wrapper 范围内。 , 你可以定位 wrapper因此在你的document通过正常方式,因此 relative风格。

关于html - 居中图像边缘的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21446330/

相关文章:

html - jQuery 检查多个元素是否有一个类

php - 我想通过添加 +1 来更新数据库,但它不起作用

html - bootstrap 3 不应用 panel-primary 作为蓝色背景色

Javascript 获取上次历史记录失败

javascript - 围绕轴点旋转SVG中的泪珠形状

internet-explorer - IE10 上的 CSS3 线性渐变

html - Laravel + Ajax,将数据呈现给 html 的正确方法

jquery - 从 iframe 更改父窗口中 div 的 css 属性

javascript - 如何将幻灯片合并到 HTML 中?

html - 有什么方法可以更改 CSS 属性的 "anchor point"吗? (不是元素本身)