使用CSS重现图像形状

时间:2012-11-30 15:27:22

标签: css css3 css-shapes

我正在尝试仅使用css

重现此图像

enter image description here

我玩过半径属性,但你会发现我没有得到相同的角度效果。

.shape{
background-color: black;
opacity:0.9;
filter:alpha(opacity=90); /* For IE8 and earlier */    
    color:white;
    font-weight:bold;
    padding: 30px 30px 30px 50px;
    text-align:center;
    position:absolute;
    right:0;
    bottom:0;
    z-index:1003;
    font-size: 20px;    
    border-top-left-radius: 125px;
    -moz-border-radius-topright: 125px;
}
​

您可以在http://jsfiddle.net/ymorin007/7qX4U/

看到我尝试过的内容

感谢。

2 个答案:

答案 0 :(得分:5)

可能不是跨浏览器兼容,但这会让你接近:)

.shape{
    background-color: black;
    opacity:0.9;
    filter:alpha(opacity=90); /* For IE8 and earlier */    
    color:white;
    font-weight:bold;
    padding: 30px 30px 30px 50px;
    text-align:center;
    position:absolute;
    right:0;
    bottom:0;
    z-index:1003;
    font-size: 20px;    
    border-top-left-radius: 125px;
    -moz-border-radius-topright: 125px;
}

.shape::before{
   content:"";
   width:0;
   height:0;
   position:absolute;
   left:-34px;
   border-left: 53px solid transparent;
   border-right: 53px solid transparent;    
   border-bottom: 53px solid black;
}
​

小提琴:http://jsfiddle.net/pggRb/

答案 1 :(得分:1)

如果您需要进行测试,可能需要考虑使用偏斜的伪元素:



div {
  position: fixed;
  bottom: 0;
  right: 0;
  height: 50px;
  width: 200px;
  background: gray;
  cursor: pointer;
  transition: all 0.6s;
}
div:before {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 100%;
  height: 100%;
  background: inherit;
  transform: skewX(-45deg);
  border-radius: 20px 0 0 0;
  z-index: -1;
}
div:hover {
  background: tomato;
  ]

<div>SOME TEXT</div>
&#13;
&#13;
&#13;