私は以下のような要件があります。 CSSを使用した下向き矢印の境界
私はhttps://css-tricks.com/snippets/css/css-triangle/ウェブサイトを通過して三角形を生成することができます。私はそれを国境に取り付ける方法を知り、高さ10pxと幅40pxの望ましい寸法を得たいと思っています。
私は以下のような要件があります。 CSSを使用した下向き矢印の境界
私はhttps://css-tricks.com/snippets/css/css-triangle/ウェブサイトを通過して三角形を生成することができます。私はそれを国境に取り付ける方法を知り、高さ10pxと幅40pxの望ましい寸法を得たいと思っています。
あなたはのpareを作る必要があります矢印を作成する子divのnt divとposition: absolute;
をクリックします。
矢印を作る主なものはtransform
プロパティです。
正常に動作しています。しかしここでは、矢印のサイズはあなたが望むだけの2倍です。
* {box-sizing: border-box;}
.line {height: 20px; border-bottom: solid 2px #000; margin-top: 100px; position: relative; z-index: 1;}
.arrow {content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); height: 20px; width: 80px; z-index: 2; background-color: #fff;}
.arrow .pin {width: calc(50% + 5px); height: 2px; background: #000; display: inline-block; float: left; transform: rotate(25deg); transform-origin: 0 0;}
.arrow .pin:last-child {transform: rotate(-25deg); transform-origin: 100% 0; float: right; margin-top: -2px;}
<div class="line">
\t <div class="arrow">
\t \t <div class="pin">
\t \t \t
\t \t </div>
\t \t <div class="pin">
\t \t \t
\t \t </div>
\t </div>
</div>
そしてそれは、矢印の40px x 10px
サイズです。
* {box-sizing: border-box;}
.line {height: 20px; border-bottom: solid 2px #000; margin-top: 100px; position: relative; z-index: 1;}
.arrow {content: ""; position: absolute; top: 100%; left: 50%; transform: translateX(-50%); height: 10px; width: 40px; z-index: 2; background-color: #fff;}
.arrow .pin {width: calc(50% + 3px); height: 2px; background: #000; display: inline-block; float: left; transform: rotate(25deg); transform-origin: 0 0;}
.arrow .pin:last-child {transform: rotate(-25deg); transform-origin: 100% 0; float: right; margin-top: -2px;}
<div class="line">
\t <div class="arrow">
\t \t <div class="pin">
\t \t \t
\t \t </div>
\t \t <div class="pin">
\t \t \t
\t \t </div>
\t </div>
</div>
これはかなり簡単です。
手順1:矢印を追加するdivのプロパティをposition: relative;
に指定します。
ステップ2:CSSの矢印を追加:<div class="arrow-down"></div>
そして、position: absolute;
プロパティを適用して、必要に応じて配置することができます。
あなたがクラスボックスでのdivを持っていたのであれば、これはあなたがどうなるのかです:
HTML:
<div class="box">
<div class="arrow-down"></div>
</div>
CSS:
// Arrow at the bottom
.box {
width: 200px;
height: 150px;
background-color:red;
margin: 50px auto;
position: relative;
}
.arrow-down {
width: 0;
height: 0;
border-left: 20px solid transparent;
border-right: 20px solid transparent;
border-top: 10px solid #f00;
position: absolute;
bottom: -10px;
left: 80px;
}
はここのためのフィドルです同じ:https://jsfiddle.net/t2ne282z/
私はこれを実装しようとしました。それはクロムでうまく動作します。 FFでは、境界に比べて矢印が薄く見えます。それに対する解決策はありますか? https://jsfiddle.net/w9rkzm5h/ – Hacker
このルールをCSSの '@ -moz-document url-prefix(){.arrow .pin {height:2.2px; }} '。これはFirefoxでのみ動作します。更新されたフィドル[ここ](https://jsfiddle.net/w9rkzm5h/1/)。 –
IEやその他のブラウザには何も置く必要はありませんか? – Hacker