Переходы CSS3: есть ли опция щелчка без использования JQuery?
Это отлично работает:
<style type="text/css">
div
{
width:100px;
height:100px;
background:red;
transition:width 2s;
-moz-transition:width 2s; /* Firefox 4 */
-webkit-transition:width 2s; /* Safari and Chrome */
-o-transition:width 2s; /* Opera */
}
div:hover
{
width:300px;
}
</style>
Но кто-нибудь знает способ сделать это, используя клик вместо зависания? И не включает JQuery?
Спасибо!
Ответы
Ответ 1
Вы можете написать вот так:
CSS
input{display:none}
.ani
{
width:100px;
height:100px;
background:red;
transition:width 2s;
-moz-transition:width 2s; /* Firefox 4 */
-webkit-transition:width 2s; /* Safari and Chrome */
-o-transition:width 2s; /* Opera */
display:block;
}
input:checked + .ani{width:300px;}
HTML
<input type="checkbox" id="button">
<label class="ani" for="button"></label>
Отметьте http://jsfiddle.net/nMNJE/
Ответ 2
У вас есть два варианта: один с использованием javascript и один с использованием псевдо-класса CSS "active". Метод javascript будет поддерживаться в старых браузерах и я рекомендую. Однако, чтобы использовать метод CSS, просто измените div: hover на div: active.
JavaScript:
<script type="text/javascript">
function expand(){
document.getElementById('id').style.width="300px";
}
</script>
CSS
<style type="text/css">
div#id
{
width:100px;
height:100px;
background:red;
transition:width 2s;
-moz-transition:width 2s; /* Firefox 4 */
-webkit-transition:width 2s; /* Safari and Chrome */
-o-transition:width 2s; /* Opera */
}
</style>
HTML:
<div id="id" onClick="expand()">
Div Content...
</div>
Ответ 3
нет селектора css для кликов без использования sass, поэтому использование jquery - это, вероятно, лучший выбор
$(document).ready(function(){
$('#DIV_ID').click(function(){
$(this).animate({width:'300px'},200);
});
});
((не забудьте включить ссылку плагина в свой заголовок!!))
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
Ответ 4
На самом деле есть селектор кликов без использования javasccript. Вы можете влиять на различные элементы DOM с помощью псевдокласс класса : target.
Если элемент является назначением целевой привязки, он получит псевдо-элемент : target (чтобы повлиять на элемент с щелчком, просто установите идентификатор так же, как его якорный тег).
<style>
a { color:black; }
a:target { color:red; }
</style>
<a id="elem" href="#elem">Click me</a>
Вот скрипка для игры: https://jsfiddle.net/k86b81jv/