13

这很好用:

<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?

谢谢!

4

4 回答 4

17

你可以这样写:

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/

于 2012-06-23T05:59:25.950 回答
3

您有两种选择,一种使用 javascript,另一种使用 CSS 伪类“活动”。旧浏览器将支持 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>
于 2012-06-23T03:33:16.030 回答
1

实际上有一个不使用 javascript 的点击选择器。您可以使用:target伪类来影响不同的 DOM 元素。如果一个元素是锚目标的目的地,它将获得:target伪元素(为了影响被点击的元素,只需将 ID 设置为与其锚标签相同)。

<style>
a { color:black; }
a:target { color:red; }
</style>

<a id="elem" href="#elem">Click me</a>

这是一个可以玩的小提琴: https ://jsfiddle.net/k86b81jv/

于 2015-08-31T11:29:48.653 回答
0

没有使用 sass 就没有 css 选择器,所以使用 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>
于 2012-06-23T04:09:49.987 回答