【问题标题】:add border top right radius only without other sides or background仅添加边框右上角半径,没有其他边或背景
【发布时间】:2016-02-05 16:09:13
【问题描述】:

我正在尝试实现如图所示的右上角三角形,但是当我应用边框半径时,为什么它会将边框应用到所有边,因为我只指定了一个边半径。尽管我应用了border-top-right-radius: 5px; 而不是border-radius: 0px 5px 0px 0px;,但我得到了相同的结果。有什么帮助吗?

HTML:

<div class="pricing-head">
  <h3>Rainmarker</h3>
  <span>For up to 10 users</span>
  <div class="ribon"></div>
</div>

CSS:

.pricing-head {
    background-color: #fff;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    padding: 20px;
}
.pricing-head .ribon {
    position: absolute;
    top: 0;
    right: 0;
    width: 75px;
    height: 75px;
}
.pricing-head .ribon:before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    border-bottom: 70px solid transparent;
    border-left: 70px solid transparent;
    border-right: 70px solid #ffad6a;
    border-radius: 0 5px 0 0;
}

【问题讨论】:

  • 什么图片?您是否应该链接到显示您想要的图像?

标签: html css border-box


【解决方案1】:

对于圆形的右上角边框,请执行以下操作:

-webkit-border-top-right-radius: 5px;
-moz-border-radius-topright: 5px;
border-top-right-radius: 5px;

生成器:http://border-radius.com/

要获得右上角的三角形,请执行以下操作:

width: 0;
height: 0;
border-style: solid;
border-width: 0 200px 200px 0;
border-color: transparent #009999 transparent transparent;

生成器:http://triangle.designyourcode.io/

要同时获取右上角三角形和右上角圆形边框半径,请使用带有border-radiusoverflow:hidden 的角落的容器。

.container {
  position: relative;
  width: 300px;
  height: 100px;
  -webkit-border-top-right-radius: 5px;
  -moz-border-radius-topright: 5px;
  border-top-right-radius: 5px;
  overflow: hidden;
  border: 1px solid gray;
}

.corner {
  position: absolute;
  top: 0;
  right: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 100px 100px 0;
  border-color: transparent #009999 transparent transparent;
}

.content {
  font-family: "Verdana";
  font-size: 12pt;
  text-align: center;
  height: 100px;
  line-height: 100px;
}
<div class="container">
  <div class="corner"></div>
  <div class="content">
    Rainmarker
  </div>
</div>

输出

【讨论】:

  • 你错过了我的问题......虽然我应用了border-top-right-radius: 5px;而不是边框​​半径:0px 5px 0px 0px;但结果相同。
  • @Kcoitk:我在你的问题中没有看到border-top-right-radius
  • @Kcoitk:啊,现在看到了。我在看你的代码!
  • .container 设置为溢出:隐藏;但它有效。谢谢
【解决方案2】:

这是一支显示你想要的东西的笔:http://codepen.io/anon/pen/VeEKLP

你需要:

border-style: solid;
border-width: 0 200px 200px 0;
border-color: transparent #007bff transparent transparent;

这是制作 css 三角形的好资源:http://apps.eky.hk/css-triangle-generator/

【讨论】:

  • 先生,我需要三角形右上角的 5px 半径支持。在代码笔中,我看不到右上角的半径,只有三角形
  • 那么添加它:top:5px;右:5px;因为你是绝对定位。
  • codepen.io/anon/pen/OMBRXv 它适用,但给它一个圆框而不是三角形
  • 但它没有使右上角的半径......它从右上角向内移动 5px。那不是我在看,我只需要保持三角形的右上角部分半径
  • 啊,好吧,我想我明白你的意思了。也许看看这个前面的问题。它非常复杂,但应该为您解决:stackoverflow.com/questions/14446677/…
猜你喜欢
  • 1970-01-01
  • 2011-09-12
  • 2012-09-05
  • 1970-01-01
  • 2013-03-09
  • 1970-01-01
  • 2017-09-19
  • 2021-06-11
  • 2012-12-30
相关资源
最近更新 更多