-
ID:jusZ7/ さんの質問

無理矢理、CSSでボタンを作ったのですが、かなり無理矢理感はんぱないです。

これでも試行錯誤して作ったのですが、もっと適切なcssの設定方法があると思っています。

どなたかリファクタリングをして頂けませんでしょうか?m(_ _)m

ttp://codepen.io/anon/pen/vBFdt

ただ、1点条件がありまして、クラスは1つだけで対応したいと考えています。(.btnクラスと.btnクラスの疑似要素)

つまり、.btnクラスをつけた要素を、別クラスが当てられた要素でラップしてボタンを作るというのは考えておりません。

-----
HTML
-----
<a class="btn" href="">ボタン</a>

-----
CSS
-----
.btn {

display: inline-block;
cursor: pointer;

border-radius: 4px;
padding:0.5em 1em;

background: #cccccc;

color: inherit;
text-decoration: none;

position: relative;

line-height:1.5;

padding-left:40px;
overflow:hidden;
}

.btn:before {

content: "F";
color: #ffffff;
background-color: #000000;
position: absolute;
line-height:1.5;
padding:8px 10px;
left:0;
top:0;
}

.btn:hover {
opacity:0.8
}

.btn:hover:before {
opacity:0.8;
}

みんなの回答 4 件

ID:Kyf0hU さんの回答

どんなデザインのボタンを作りたいのかによって変わってくるじゃないの…
でも無理矢理感はんぱないことないと思いますよー。
まとめて書くとかショートハンド使うとか、あとすこしキレイに書くことはできるかもですが…
こんなもんでしょー。

ID:K0h.1q

作りたいボタンの外観はリンク先に表示されてるものと同じです。

パディングとかポジションとかラインハイトとかのプロパティはこんな感じの使い方であってたのでしょうか。。。

ID:gOQrdq さんの回答

CSSのボタンサンプルなんていっぱい落ちてるよ

ID:fNwVsA さんの回答

リファクタリングでは無いのですが、手が空いたのでちょっと変えてみました笑
コード自体はこのままでも別に良いのではないでしょうか。

ttp://codepen.io/anon/pen/ltnbo

ID:vFVUsb

ここで技術系の質問する人って、こうやってわざわざ手を入れてくれた人に礼も言わない人が結構いるね。

ID:K0h.1q

コードは特に悪いわけではないのですね。ちょっと安心しました!ありがとうございます。

ID:fNwVsA

いえいえ、暇なときに勝手にやってみただけなので大丈夫ですよー。
頑張って下さい!

ID:SLN7y8 さんの回答

いや、これボタンですらないし。。。

ID:jusZ7/

というと?

ID:SLN7y8

押せそうな感じがしないから。
Fって何?

ID:SLN7y8

あぁ、こういうことか。
ttp://tympanus.net/Tutorials/CSSButtonsPseudoElements/index3.html

ちょっとだけでも右下に陰があったほうがいいんじゃないかなぁ。
ttp://www.css-lecture.com/template/2010/1201/
のような見えるか見えないかぐらいの繊細さで。

あとは、Fの入っている部分を正方形にして。(縦を少し縮める)
で薄くグラデが入っていてもといいのかも。

ID:K0h.1q

あ、そういうことですね。ありがとうございます。いま、あげてるのはテキトーに作ってるものなので、これからデザインの精度はあげますが、フラットデザイン慣れしてるユーザー対象のサイトで使うボタンなので、擬似的な立体感は無しで作る感じとなります。

最終更新日:2014-08-26 (2,193 views)

関連するトピックス

ページ上部に戻る