3

css3で矢印を作成するには? このように。

ここに画像の説明を入力

ここに画像の説明を入力

jsfiddle http://jsfiddle.net/BdSP4/1/

4

4 に答える 4

7

JsFiddleを参照してください

HTML

<div class="angle"></div>

CSS

.angle:after { /* Thanks to :after just one div is necessary */
    content: '.';
    border-top: 20px solid #000; /* NW triangle gap */
    border-bottom: 20px solid #000; /* SW triangle gap */
    border-left: none;
    border-right: 20px solid transparent; /* W triangle */
    position: relative;
    left: 20px;
}
.angle {
    font-size: 0px; line-height: 0%; width: 0px; /* Necessary to not screw up the layout */
    border-top: 20px solid transparent; /* NE triangle gap */
    border-bottom: 20px solid transparent; /* SE triangle gap */
    border-left: none;
    border-right: 20px solid #000; /* E triangle */
}

更新:小さいバージョン

これらは2つの重なり合う三角形です。1つは黒、もう1つは白です。

JsFiddle

同じHTML、異なるCSS

.angle:after {
    content: '.';
    border-top: 10px solid transparent; 
    border-bottom: 10px solid transparent;
    border-left: none;
    border-right: 10px solid white; 
    position: relative;
    left: 5px;
}
.angle {
    font-size: 0px; line-height: 0%; width: 0px; /* Necessary to not screw up the layout */
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: none;
    border-right: 10px solid #000;
}
于 2012-04-04T11:30:51.403 に答える
7

--- デモを見る ----

<div class="triangle-left">
    <div></div>
</div>​

.triangle-left {
  border-color: transparent black transparent transparent;
  border-style: solid;
  border-width: 20px;
  width: 0;
  height: 0;
}

.triangle-left div
{
  border-color: transparent white transparent transparent;
  border-style: solid;
  border-width: 10px;
  width: 0;
  height: 0;
  position:relative;
  top:-9px;
  left:0px;
}​

これは、白い三角形が内側に配置された三角形で、矢印のように見えます。CSS3 三角形の詳細については、次を参照してください。

http://jonrohan.me/guide/css/creating-triangles-in-css/

于 2012-04-04T11:28:52.573 に答える
2

CSS 3 を使用する必要はありません。HTML エンティティで作成します。

<span>&#8249;</span>
于 2012-04-04T11:26:48.010 に答える
0

CSS3を使用して代替を追加するだけ rotate

デモ

CSS

.arrow { width: 20px; height: 20px; overflow: hidden; }
.arrow span  {
    display: block;
    border: 4px #000 solid;
    background: #fff;
    width: 14px;
    height: 14px;
    float:right;
    margin-right: -12px;
    
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
    filter: progid:DXImageTransform.Microsoft.Matrix(
         M11=0.7071067811865476, M12=-0.7071067811865475, M21=0.7071067811865475, M22=0.7071067811865476, sizingMethod='auto expand');
    zoom: 1;
}

HTML

<div class="arrow"><span></span></div>
于 2012-04-04T11:48:24.327 に答える