【发布时间】:2017-11-25 18:30:02
【问题描述】:
我试图将 a 标签包含在一个绝对定位的 div 内,边框半径为 100%。实际上,我想禁用在圆形父 div 之外单击链接的功能。但我做不到......我的印象是我可以隐藏溢出来做到这一点,但我仍然可以从“圆圈”外部点击链接。
有什么想法吗?
HTML
<div class="container">
<div class="logo">
<a id="logo-link" class="logo-link" href="#" title="WEBSITE">
<img src="logo-sq.png" alt="LOGO">
<div class="logo-text">
<span class="site-title">SITE</span>
<span class="slogan">SLOGAN</span>
</div>
</a>
</div>
</div>
CSS
.container {
position:relative;
}
.logo {
right: 10px;
top: 20px;
width: 300px;
height: 300px;
position: absolute;
padding: 2px;
background: #fff;
border: 4px dotted #022f66;
border-radius: 100%;
box-shadow: 2px 2px 10px;
overflow: hidden;
}
.logo-link {
width: auto;
height:300px;
text-align: center;
display: block;
text-decoration: none !important;
border: 1px solid;
}
【问题讨论】:
-
为什么要将链接 (
.logo-link) 嵌套到包装器 (.logo) 中? -
@ihmels 感谢您抽出宝贵时间发表评论 - 我最终没有外部 div - 但是如果内部元素(认为徽标 img)超出了圆圈,仍然可以从圈外。如果外部元素定位为绝对或类似的东西,则可能溢出在这种情况下不起作用......我必须强制内部图像的角保持在圆圈内。
-
是的,你是对的,但似乎只有基于 WebKit/Blink 的浏览器有这个问题。
-
我已更新my answer。此解决方案也适用于 Chrome。
标签: html css overflow css-position absolute