border-radius不工作

Mat*_*att 35 css border css3

我正在研究一个基本的div和一些特殊的原因,border-radius: 7px不适用于它.

.panel {
  float: right;
  width: 120px;
  height: auto;
  background: #fff;
  border-radius: 7px; // not working
}
Run Code Online (Sandbox Code Playgroud)

Eli*_*ate 57

对任何人都可能有这个问题.我的问题是边界崩溃.它被设置为:

border-collapse: collapse;
Run Code Online (Sandbox Code Playgroud)

我把它设置为:

border-collapse: separate; 
Run Code Online (Sandbox Code Playgroud)

它解决了这个问题.

  • 我刚刚添加了“边框折叠:分开;” 到我的内嵌 CSS 并且它起作用了!谢谢! (3认同)

Eth*_*May 21

对于将来遇到此问题的任何人,我不得不补充一下

perspective: 1px;
Run Code Online (Sandbox Code Playgroud)

到我应用边界半径的元素.最终工作代码:

.ele-with-border-radius {
    border-radius: 15px;
    overflow: hidden;
    perspective: 1px;
}
Run Code Online (Sandbox Code Playgroud)

  • `overflow:hidden`属性可以完成大多数容器的工作. (25认同)
  • 溢出:隐藏,FTW (2认同)
  • 我希望有人能解释为什么这对我有用。99.999% 的情况下,您只需要在容器上溢出:隐藏,但有时这根本不起作用。这很奇怪。 (2认同)

Bal*_*áni 20

我只是强调@Ethan May 回答的一部分

overflow: hidden;
Run Code Online (Sandbox Code Playgroud)

它很可能会为您的案例完成工作。


小智 12

如果你有父元素,那么你的父元素必须有溢出:隐藏;属性,因为如果您的子内容从父边框溢出,则您的边框将可见。否则您的 borderradius 正在工作,但它会被您的子内容隐藏。

.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;
}
Run Code Online (Sandbox Code Playgroud)
<div class="outer">
  <div class="inner1">
     
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)


jno*_*dim 10

要在@ethanmay的答案上加一点:(/sf/answers/3103409711/)...

如果div中的某些内容具有弯曲的角,则必须进行设置,overflow: hidden因为否则子div的溢出会给人印象,即border-radiusd不能正常工作。

<!-- 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>
Run Code Online (Sandbox Code Playgroud)

JSFiddle:http : //jsfiddle.net/o2t68exj/

  • 这个答案对我有用。其他人都没有。具体来说,我正在使用嵌套的 &lt;ul&gt; 和 &lt;li&gt; 标签。 (2认同)

小智 8

尝试添加!important到你的 css 中。它对我有用。

.panel {
  float: right;
  width: 120px;
  height: auto;
  background: #fff;
  border-radius: 7px!important;
}
Run Code Online (Sandbox Code Playgroud)


jak*_*kee 7

由于某种原因你的填充:7px设置使border-radius无效.将其更改为padding: 0px 7px


Usm*_*man 7

在你的div class ="social-box"css中

使用

            float:right 
Run Code Online (Sandbox Code Playgroud)

代替

             float:left
Run Code Online (Sandbox Code Playgroud)

  • 为什么?这与提出的问题无关。 (2认同)