具有边框半径和三角形边的CSS项

时间:2012-09-19 17:15:17

标签: css css3 css-shapes

css(没有图像)是否可以制作边框半径和三角边的项目?

li items

3 个答案:

答案 0 :(得分:4)

你可以使用一个SVG图像,它可以任意大小渲染,并且会适应元素的大小,看起来像这样......

.button {
  background: #000;
  float: left;
  position: relative;
  color: #999;
  font: 15px/130% Arial, sans-serif;
  padding: 10px 20px;
  clear: both;
  margin: 10px;
  border-radius: 5px 0 0 5px;
}

.button:after {
  content: '';
  display: block;
  width: 10px;
  position: absolute;
  right: -10px;
  height: 100%;
  top: 0;
  background: transparent url('triangle.svg') 0 0 no-repeat;
}

http://jsfiddle.net/Ch7aA/

这个jsfiddle只能在Webkit中工作,因为我已经内联了svg,所以你可以理解它是如何工作的,但如果你从外部文件加载它应该可以正常工作。这是渲染的参考:

enter image description here

答案 1 :(得分:2)

答案 2 :(得分:1)

<强> HTML:

<div><span>fubar</span></div>

<强> CSS:

span{
    display:block;
    width:100px;
    float:left;
    background-color:green;
    text-align:center;
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
    padding:5px 0;
}
div:after {
    content: "";
    display:block;
    float:left;
    border-top: 15px solid transparent;
    border-bottom:15px solid transparent;   
    border-left: 10px solid green;
}

jsFiddle Demo


<强>更新

为了能够处理不同的高度,您需要编写一些JavaScript代码来动态更改边框大小或使用CSS截断文本。但是,这取决于您的特殊要求。