如何在CSS中创建功能区形状

时间:2014-06-13 14:07:52

标签: html css css-shapes

http://jsfiddle.net/6HyjZ/

.bookmarkRibbon{
     width:0; 
     height:100px; 
     border-right:50px solid blue;
     border-left:50px solid blue;
     border-bottom:30px solid transparent;
}

<div class="bookmarkRibbon"></div>

我努力制作这种形状的版本,其中功能区指向右而不是向下, 我怎么能实现这个目标呢?

8 个答案:

答案 0 :(得分:12)

帮助您可视化逻辑循序渐进
所以你可以在任何你想要的方面轻松地应用它:

CSS Ribbon Shape - How To Create

&#13;
&#13;
.bookmarkRibbon {
  border:       50px solid blue;        /* All borders set */
  border-left:  0;                      /* Remove left border */
  border-right: 30px solid transparent; /* Right transparent */
  width:        100px;                  /* Increase element Width */
}
&#13;
<div class="bookmarkRibbon"></div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

.bookmarkRibbon{
     width:100px; 
     height:0; 
     border-bottom:50px solid blue;
     border-top:50px solid blue;
     border-right:30px solid transparent;
}

答案 2 :(得分:0)

如果'旋转'css属性,它会将窗体旋转90度。

.bookmarkRibbon{
     width:100px; 
     height:0; 
     border-bottom:50px solid blue;
     border-top:50px solid blue;
     border-left:30px solid transparent;
}

http://jsfiddle.net/6HyjZ/6/

答案 3 :(得分:0)

使用transform:rotate

.bookmarkRibbon{
     width:0; 
     height:100px; 
     border-right:50px solid blue;
     border-left:50px solid blue;
     border-bottom:30px solid transparent;
    transform:rotate(7deg);
    -ms-transform:rotate(7deg); /* IE 9 */
    -webkit-transform:rotate(7deg); /* Opera, Chrome, and Safari */
}

答案 4 :(得分:0)

只需交换你拥有的东西,你就可以去jsfiddle

.bookmarkRibbonRight{
     width:100px; 
     height:0px; 
     border-right:30px solid transparent;
     border-bottom:50px solid blue;
     border-top:50px solid blue;
}

答案 5 :(得分:0)

在这里使用有用的答案是文本版本。

带有文字的垂直(顶部到底部)横幅

.ribbon-vertical {
	position: absolute;
	right: 10px;
  	border:       13px solid #e46a76;        /* All borders set */
  	border-top:  0;                      /* Remove left border */
  	border-bottom: 10px solid transparent; /* Right transparent */
  	height: auto;                  /* Increase element Width */
  	width: 0;
  	word-wrap: break-word;
  	color: white;
  	z-index: 1;
  	-webkit-filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
    		filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
}

.ribbon-vertical div{
    position: relative;
    right: 5px;
    padding-top: 2px;
    padding-bottom: 2px;
}
<div class="ribbon-vertical"><div>BANNER</div></div>

带有文字的水平(从右到左)横幅

.ribbon-horizontal{
	position: absolute;
	right: 0;
	bottom: 5rem;
  	border: 13px solid #e46a76;
  	border-right: 0;
  	border-left: 10px solid transparent;
  	height: 0;
  	line-height: 0;
  	width: 100px;
  	color: white;
  	z-index: 1;
  	-webkit-filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
    		filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3));
	letter-spacing: 3px;
}
.ribbon-horizontal span{
	position: relative;
	padding: 0 4px 0 10px;
	text-align: center;   			
}
<div class="ribbon-horizontal"><span>BANNER</span></div>

答案 6 :(得分:-1)

你已经拥有了这个形状,只需使用transform属性来改变它的角度。

以下是我添加到您拥有的代码中的代码。

 transform: rotate(270deg);

这是小提琴,http://jsfiddle.net/6HyjZ/11/它现在指向右边(除非那个正确侧)

答案 7 :(得分:-2)

使用rotate css转换:

 .bookmarkRibbon{
      width:0; 
      height:100px; 
      border-right:50px solid blue;
      border-left:50px solid blue;
      border-bottom:30px solid transparent;
     -webkit-transform: rotate(90deg);
     -ms-transform: rotate(90deg);
     transform: rotate(90deg);
 }

http://jsfiddle.net/6HyjZ/13/