LoginSignup
6
6

More than 5 years have passed since last update.

ストック / チェックボックをいい感じにするCSS

Last updated at Posted at 2014-03-02

ブログを更新しました。元の記事はコチラ


変えたいけど変えるとなると結構めんどくさいチェックボックスのスタイリング。。。
また使いそうだからメモしておきます。結構なやんだ。

 
こんな感じです。

Screen Shot 2014-03-02 at 11.15.28 AM
 
実際にはこのくらいの大きさ。
Sassなんで変数かえればお好みの大きさになるかと思います。

Screen Shot 2014-03-02 at 11.15.46 AM

.scssファイル


$checkbox_height: 22px;
$checkbox_margin: 25px;

$c_white: #fff;
$c_gray: #eee;
$c_navy: #002b53;

.nice-checkbox {
  /* hide checkbox */
  input[type=checkbox] {
    visibility: hidden;
  }

  float: left;
  margin: 0 7px 7px 0;
  position: relative;

  label {
    display: inline-block;
    height: $checkbox_height;
    background-color: $c_white;
    border: 1px solid $c_gray;
    border-radius: 2px;
    cursor: pointer;
    /* Checkbox text style */
    position: relative;
    margin-left: - $checkbox_margin;
    padding: 0 7px 0 22px;
    font-size: 12px;
    color: $c_navy;
    line-height: $checkbox_height;
  }
  /* Tick mark */
  label:after {
    content: "";
    opacity: 0.2;
    width: 9px;
    height: 5px;
    background: transparent;
    border: 3px solid $c_navy;
    border-top: none;
    border-right: none;

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

    position: absolute;
    top: $checkbox_height/5;
    left: 6px;
  }

  /* Hover state */
  label:hover:after {
    opacity: 0.5;
  }
  input[type=checkbox]:checked + label:after {
    opacity: 1;
    border-color: $c_white;
  }
  input[type=checkbox]:checked + label {
    background-color: $c_navy;
    color: $c_white;
    border-radius: 3px;
    font-weight: bold;
  }
}

 

たくさんあるチェックボックスをタグのように並べる時にいいかもね。
ブラウザチェックしてません。
確認したのはChromeだけなので使うときはテストをお忘れなく。

http://workabroad.jp/posts/2065

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6