3

矢印

こんにちは、私はこれについて頭を悩ませています。示されているような CSS グラデーション矢印を作成し、赤い部分の塗りつぶしをパーセンテージで定義できるようにしたいと考えています。赤いブロックは単色です。

このJFiddle の例から、緑色の矢印の作成にいくらか進歩しましたが、三角形のグラデーションの方向が間違っています。緑の矢印のパーセンテージとして赤いブロックを埋める方法がまだわかりません。たとえば、赤い部分が 90% の場合、半分の三角形を作成する必要があります。助けてください :)

緑の矢印のコード例:

div.a3 {
   width: 100px;
   height: 50px;
   position: relative;
   margin: 50px;

   background: -webkit-linear-gradient(top, #99c739 0%,#4eb739 100%);
   background:    -moz-linear-gradient(top, #99c739 0%, #4eb739 100%); 
}

div.a3:after {
   z-index: -1;
   content: "";
   display: block;
   position: absolute;
   right: -75px;
   top: -50px;
   margin: 50px;
   height: 50px;
   width: 50px;

   -webkit-transform:rotate( -45deg );
   -moz-transform:rotate( -45deg );
        transform:rotate( -45deg );

   background: -webkit-linear-gradient(135deg, #99c739 0%, #4eb739 50%, #ffffff 50%, #ffffff 100%);
   background:    -moz-linear-gradient(135deg, #99c739 0%, #4eb739 50%, #ffffff 50%, #ffffff 100%);
}
4

2 に答える 2

1
div{
    width: 200px;
    height: 100px;
    margin: 50px 0;
    position:relative;
    background: #d72200;
    background: -moz-linear-gradient(left,  #d72200 0%, #d72200 20%, #9ac739 20%, #6bbe39 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#d72200), color-stop(20%,#d72200), color-stop(20%,#9ac739), color-stop(100%,#6bbe39));
    background: -webkit-linear-gradient(left,  #d72200 0%,#d72200 20%,#9ac739 20%,#6bbe39 100%);
    background: -o-linear-gradient(left,  #d72200 0%,#d72200 20%,#9ac739 20%,#6bbe39 100%);
    background: -ms-linear-gradient(left,  #d72200 0%,#d72200 20%,#9ac739 20%,#6bbe39 100%);
    background: linear-gradient(to right,  #d72200 0%,#d72200 20%,#9ac739 20%,#6bbe39 100%);
}
div:after{
    content:'';
    width: 100px;
    height: 100px;
    position: absolute;
    left: 100%;
    top: 0;
    background: #4eb739;
    background: -moz-linear-gradient(45deg,  #4eb739 0%, #6bbe39 50%, #6bbe39 100%);
    background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#4eb739), color-stop(50%,#6bbe39), color-stop(100%,#6bbe39));
    background: -webkit-linear-gradient(45deg,  #4eb739 0%,#6bbe39 50%,#6bbe39 100%);
    background: -o-linear-gradient(45deg,  #4eb739 0%,#6bbe39 50%,#6bbe39 100%);
    background: -ms-linear-gradient(45deg,  #4eb739 0%,#6bbe39 50%,#6bbe39 100%);
    background: linear-gradient(45deg,  #4eb739 0%,#6bbe39 50%,#6bbe39 100%);
    -moz-transform: scale(1) rotate(45deg) translate(0px, 0px) skew(0deg, 0deg);
    -webkit-transform: scale(1) rotate(45deg) translate(0px, 0px) skew(0deg, 0deg);
    -o-transform: scale(1) rotate(45deg) translate(0px, 0px) skew(0deg, 0deg);
    -ms-transform: scale(1) rotate(45deg) translate(0px, 0px) skew(0deg, 0deg);
    transform: scale(1) rotate(45deg) translate(0px, 0px) skew(0deg, 0deg);
    z-index: -2;
    margin: 0 0 0 -50px;
}
div:before{
    content:'';
    position:absolute;
    top: 0;
    right: 0;
    height: 100%;
    padding: 22px 0;
    z-index: -1;
    background: #fff;
    margin: -22px 0;
    width: 100%;
}
于 2013-08-05T13:25:06.933 に答える
0

コードの下に矢印が作成されているようです。

それはあなたが探しているものですか?

    div.a3 {
    width: 100px;
    height: 50px;
    position: relative;
    margin: 50px;

    background: -webkit-linear-gradient(left, #1e5799 0%,#2989d8 100%);
    background:    -moz-linear-gradient(left, #1e5799 0%, #2989d8 100%); 
}

div.a3:after {
    z-index: -1;
    content: "";
    display: block;
    position: absolute;
    right: -75px;
    top: -50px;
    margin: 50px;
    height: 50px;
    width: 50px;
    background: #000;  
            transform:rotate( -45deg );

    background: -webkit-linear-gradient(135deg, #1e5799 0%, #2989d8 50%, #ffffff 50%, #ffffff 100%);
    background:    -moz-linear-gradient(135deg, #1e5799 0%, #2989d8 50%, #ffffff 50%, #ffffff 100%);
}
于 2013-08-05T12:57:08.357 に答える