我有一个像这样的简单 CSS 箭头:
.arrow-brown {
height: 18px;
width: 18px;
border-top: 6px solid #39170b;
border-right: 6px solid #39170b;
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
在 Firefox 中,边框未正确呈现,两条细白线出现在边框宽度上。有什么解决方法可以摆脱它们吗?
这是渲染图: http://i.imgur.com/TmoAPv6.png
这是 fiddle : https://jsfiddle.net/w2s9gp8w/
最佳答案
您可以尝试通过 box-shadow
或通过 linear-gradient
绘制边框
div {
margin: 20px;
float: left;
-moz-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.box-shadow {
height: 68px;
width: 68px;
box-shadow: inset -18px 18px #39170b;
}
.arrow-brown {
height: 50px;
width: 50px;
border-top: 18px solid #39170b;
border-right: 18px solid #39170b;
}
.gradient {
height: 68px;
width: 68px;
background: linear-gradient(to left, #39170b, #39170b) top right no-repeat, linear-gradient(to top, #39170b, #39170b) top left no-repeat;
background-size: 18px 100%, 100% 18px;
}
th {
color:red;
}
th:last-of-type {
color:#54A719;
}
<table>
<caption>Tests on rotated shapes</caption>
<thead>
<tr>
<th>border</th>
<th>box-shadow</th>
<th>linear-gradient</th>
</tr>
<thead>
<tbody>
<tr>
<td>
<div class="arrow-brown"></div>
</td>
<td>
<div class="box-shadow"></div>
</td>
<td>
<div class="gradient"></div>
</td>
</tr>
</tbody>
</table>
关于html - 在 Firefox 中使用 css 转换时边框渲染不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35826845/