我已经设计了一些链接,看起来像按钮。这些“按钮”包括使用:after
元素添加图标字体的图标。HTML/CSS::在伪元素溢出后父亲
作为响应式布局,按钮需要在多种屏幕尺寸下工作。当放置在柔性容器内时,:after
元素溢出其父项。
例子: 的HTML基本上看起来是这样的:
<div class="wrap">
<a href="/" class="btn icon">Test</a>
</div>
用下面的CSS代码:
.wrap {
background: grey;
width: 20%;
padding: 20px;
}
.btn {
display: inline-block;
padding: 15px;
background: linear-gradient(to top, #ccc, #fafafa);
border: 1px solid #999;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,.55);
max-width: 100%;
}
.icon {
font-family: FontAwesome;
}
.icon:after {
content: "\f04e";
margin-left: 8px;
}
,看看这个小提琴:http://jsfiddle.net/r6uLJ/
当你缩小窗口大小,你会看到两个三角形(蓝色)溢出按钮(带灰白色渐变)。有什么我可以做,以避免这一点,但仍然使用伪元素呢?
你为什么要指定'最大宽度:上'.btn' 100%'? –
@MarcAudet为了防止'.btn'溢出它的容器。 – Sven
在这种情况下,最大宽度将无济于事。在你的例子中,按钮的文本+图标/内容决定了按钮的宽度,并且可能比包装器的宽度更宽,这将导致溢出情况。您需要考虑按钮在宽度缩小时的行为方式。有几种设计方法。你能否提供一些设计指导来帮助缩小解决方案的范围? –