我正在制作一个基本的 div
,但是出现了一些奇怪的问题,border-radius: 7px
没有被应用到它上面。
.panel {
float: right;
width: 120px;
height: auto;
background: #fff;
border-radius: 7px; // not working
}
我正在制作一个基本的 div
,但是出现了一些奇怪的问题,border-radius: 7px
没有被应用到它上面。
.panel {
float: right;
width: 120px;
height: auto;
background: #fff;
border-radius: 7px; // not working
}
对于可能遇到这个问题的人。我的问题是边框合并(border-collapse)。它被设置为:
border-collapse: collapse;
我将它设为:
border-collapse: separate;
问题得到了解决。
perspective: 1px;
.ele-with-border-radius {
border-radius: 15px;
overflow: hidden;
perspective: 1px;
}
overflow: hidden;
。在我的情况下,这也不起作用,我需要添加perspective: 1px;
。我认为这可能是由于我对具有边框半径的元素应用了3D CSS变换引起的。overflow: hidden
属性对于大多数容器来说已经足够。 - Philipos D.补充一下@ethanmay的答案:(https://dev59.com/p2gu5IYBdhLWcg3w5LBa#44334424)...
如果带有圆角的
overflow: hidden
,否则子border-radius
无效的印象。
<!-- This will look like the border-radius isn't working-->
<div style="border: 1px solid black; border-radius: 10px;">
<div style="background: red;">
text!
</div>
</div>
<!-- but here the contents properly fit within the rounded div -->
<div style="border: 1px solid black; border-radius: 10px; overflow: hidden;">
<div style="background: red;">
text!
</div>
</div>
JSFiddle: http://jsfiddle.net/o2t68exj/
我只是强调 @Ethan May 答案中的一部分,即
overflow: hidden;
它很可能适用于你的情况。
.outer {
width: 200px;
height: 120px;
border: 1px solid black;
margin-left: 50px;
overflow: hidden;
border-radius: 30px;
}
.inner1 {
width: 100%;
height: 100%;
background-image: linear-gradient(#FF9933,white, green);
border: 1px solid black;
}
<div class="outer">
<div class="inner1">
</div>
</div>
由于某些原因,您的padding: 7px设置正在使border-radius无效。将其更改为padding: 0px 7px
.panel {
float: right;
width: 120px;
height: auto;
background: #fff;
border-radius: 7px!important;
}
float: initial
,这解决了我的问题。然后我注意到,在删除该属性后它也可以正常工作,我认为在我的情况下问题出现在浏览器上:Chrome 版本 55.0.2883.87(64 位)。 - Arman Yeghiazaryan{
border-radius: 7px;
-webkit-border-radius: 7px;
-moz-border-radius: 7px;
}
您的问题与您设置的border-radius
无关。打开Chrome并按下Ctrl+Shift+j
,然后检查元素。取消勾选width
,边框将具有圆角。