CSS 26    CSS3 10    HTML 2    JavaScript 43    Wordpress 3    Блог 10    Инструменты 1    Не советую 1    Полезные ресурсы 4    Счетчики 1    Шпаргалки 6    Зарегистрироваться 293   Войти

Меню

Добро пожаловать, Гость! Вы можете Войти или Зарегистрироваться.

8

Чекбокс в стиле iPhone

Jemand 23012 ,
CSS, HTML, JavaScript

1. CSS

.container {
	position: relative;
	width: 85px;
	height: 27px;
	cursor: pointer;
	overflow: hidden;
	}
.container input {
	position: absolute;
	top: 5px;
	left: 30px;
	}
.handle {
	display: block;
	height: 27px;
	width: 39px;
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
	}
.handle .bg {
	position: absolute;
	width: 5px;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	}
.handle .slider {
	position: absolute;
	top: 0;
	left: 0;
	height: 27px;
	width: 39px;
	background: url('slider.png') no-repeat;
	z-index: 2;
	}
label.on, label.off {
	font-size: 17px;
	line-height: 17px;
	font-weight: bold;
	font-family: Helvetica Neue, Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	cursor: pointer;
	display: block;
	height: 22px;
	position: absolute;
	width: 52px;
	top: 0;
	}
label.on {
	color: #fff;
	background: url('on.png') no-repeat;
	text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6);
	left: 0;
	padding: 5px 0 0 8px;
	}
label.off {
	color: #8B8B8B;
	background: url('off.png') no-repeat right 0;
	text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.6);
	text-align: right;
	right: 0;
	padding: 5px 8px 0 0;
	}

Изображения можно взять здесь.
2. Подключение jQuery

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.2.min.js"></script>

3. Подключение плагина Checkboxes.js

<script src="iphone-style-checkboxes.js" type="text/javascript"></script>

4. JavaScript

<script type="text/javascript">
  $(document).ready(function() {
    $(':checkbox').iphoneStyle();
  });
</script>

jQuery, плагин Checkboxes.js и JavaScript размещаем в разделе <head> в том порядке, как указано выше.
5. HTML

Включенный чекбокс
<input type="checkbox" checked="checked">

Выключенный чек бокс
<input type="checkbox">

Демо

Рекламная пауза

» 8 комментариев

  1. ума не приложу куда его применить)

  2. Очень зачётно. Спасибо!!! Давно искал !!!

  3. при отключении стиля не только некрасиво, но и неработоспособно

  4. еще раз прошу прощение за мусор, вот кросс-браузерный вариант стилей:

    .input.switch {
    opacity: 0;
    display: none;
    visibility: hidden;
    }
    .input.switch + label {
    /*content: ‘off’;*/
    cursor: pointer;
    position: relative;
    border: silver solid 1px;
    border-radius: 5px;
    padding: 2px 10px;
    vertical-align: middle;
    color: grey;
    text-transform: uppercase;
    font-family: arial;
    font-weight: bold;
    text-shadow: 0px 0px 3px rgba(255,255,255,0.6);
    background: linear-gradient(top,rgb(154,154,154),rgb(231,231,231),rgb(245,245,245));
    background: -o-linear-gradient(top,rgb(154,154,154),rgb(231,231,231),rgb(245,245,245));
    background: -moz-linear-gradient(top,rgb(154,154,154),rgb(231,231,231),rgb(245,245,245));
    background: -webkit-linear-gradient(top,rgb(154,154,154),rgb(231,231,231),rgb(245,245,245));
    background: -ms-linear-gradient(top,rgb(154,154,154),rgb(231,231,231),rgb(245,245,245));
    text-align: right;
    display: inline-block;
    min-width: 70px;
    width: 70px;
    max-width: 70px;
    height: 18px;
    }
    .input.switch:checked + label {
    /*content: ‘on’;*/
    color: white;
    text-align: left;
    text-shadow: 0px 0px 3px rgba(0,0,0,0.4);
    background: linear-gradient(top,rgb(66,122,181),rgb(94,162,236),rgb(146,191,245));
    background: -o-linear-gradient(top,rgb(66,122,181),rgb(94,162,236),rgb(146,191,245));
    background: -moz-linear-gradient(top,rgb(66,122,181),rgb(94,162,236),rgb(146,191,245));
    background: -webkit-linear-gradient(top,rgb(66,122,181),rgb(94,162,236),rgb(146,191,245));
    background: -ms-linear-gradient(top,rgb(66,122,181),rgb(94,162,236),rgb(146,191,245));
    }
    .input.switch + label:before {
    content: ‘off’;
    text-transform: uppercase;
    position: absolute;
    left: 0px;
    top: 0px;
    bottom: 0px;
    right: 0px;
    padding: 2px 10px;
    }
    .input.switch:checked + label:before {
    content: ‘on’;
    }
    .input.switch + label:after {
    content: ”;
    position: absolute;
    left: -1px;
    top: -1px;
    margin-left: 0%;
    width: 50%;
    height: 100%;
    border: silver solid 1px;
    border-radius: 5px;
    background: linear-gradient(top,rgb(222,222,222),rgb(252,252,252));
    background: -o-linear-gradient(top,rgb(222,222,222),rgb(252,252,252));
    background: -moz-linear-gradient(top,rgb(222,222,222),rgb(252,252,252));
    background: -webkit-linear-gradient(top,rgb(222,222,222),rgb(252,252,252));
    background: -ms-linear-gradient(top,rgb(222,222,222),rgb(252,252,252));
    box-shadow: inset 0px 0px 0px 1px rgba(255,255,255,0.5);
    transition: all .3s ease;
    -o-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    -ms-transition: all .3s ease;
    }
    .input.switch:checked + label::after {
    margin-left: 50%;
    }


Оставить комментарий