2017-06-02 6 views
0

CSSのようなボタンを作成する方法はありますか? 「ブログ」テキストのあるもの。私は各コーナーにdivを追加してみましたが、これらのdivの枠線を与えて回転させましたが、あなたが見ることができるように(Anout Me btn)、コーナーが正確には合わないので最適な解決策ではありません。ボーダーのあるボタンのCSSの鋭いコーナーを作成する方法はありますか?

button with sharp corners and border attempt for the btn

あなたのアイデアをありがとう!

+0

それは、単一の '

+0

[Flat sharp corner or beveled corners]の複製があります(https://stackoverflow.com/questions/10883963/flat-sharp-corner-or-beveled-corners) – noahnu

答えて

2

これを行うCSSルールはありませんが、可能です。あなたのボタンには、inline-blockまたはblockの要素が必要です(左端と右端に境界線があります)。次に、コンテナの上部と下部に2つの疑似要素::before::afterを配置する必要があります(absoluteの位置付け)。パースペクティブを追加して、要素のX値をそれに応じて回転させるだけでよいのです。すべてのデバイスで「ピクセル完璧」ではないかもしれませんが、最新のデバイスやブラウザでは完璧に近いと思われます。

あなたは、より良いアイデアを得るために、私は少し前作られたこれらの六角形のボタンを見てすることができますhttps://codepen.io/chriskirknielsen/pen/MpXKVV

+0

これはいくつかの甘いボタンです! –

+0

このソリューションのおかげで、私は必要と同じように見せてくれました。 –

+0

うれしい私は助けることができました! @PatrickRobertsありがとうございました! – chriskirknielsen

0

CSSでは簡単ではありません。あなたは、CSSシェイプを使って大雑把な類似性を得ようとすることができます。しかし、シェイプとしては、正確にそれを得ることはできません。それがあなたの意図であれば、適切なストロークを置くことはできません。

#octagon { 
    width: 100px; 
    height: 100px; 
    background: red; 
    position: relative; 
} 

#octagon:before { 
    content: ""; 
    position: absolute; 
    top: 0; 
    left: 0; 
    border-bottom: 29px solid red; 
    border-left: 29px solid #eee; 
    border-right: 29px solid #eee; 
    width: 42px; 
    height: 0; 
} 

#octagon:after { 
    content: ""; 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    border-top: 29px solid red; 
    border-left: 29px solid #eee; 
    border-right: 29px solid #eee; 
    width: 42px; 
    height: 0; 
} 
+0

スタックスニペットでデモを行うことはできますか?私はこれを実際に見るのが好奇妙です。 –

関連する問題