当我点击它时,我想scale(x,y)
<a>
元素,但它不起作用。我使用Mozilla Firefox Web浏览器来运行程序。
这是我的代码:
<html>
<head>
<title>CSS3 Transform and Transition</title>
<style>
a{
background-color: green;
color: white;
padding: 10px 20px;
text-decoration: none;
border: 2px solid #85ADFF;
border-radius: 30px 10px;
transition: 2s;
}
a:hover{
transform: scale(2,2);
}
</style>
</head>
<body>
<center><a href="xyz.html">click here</a></center>
</body>
</html>
答案 0 :(得分:19)
transform
不适用于<a>
等内联元素。您可以将链接显示为inline-block
或block
以使转换正常工作:
<强> transformable element 强>
可转换元素是以下类别之一的元素:
- 一个元素,其布局由CSS框模型控制,该模型是块级或原子内联级元素,或者其显示 property计算到table-row,table-row-group,table-header-group, table-footer-group,table-cell或table-caption [...]
atomic inline-level元素包括:
替换了内联级元素,内联块元素和 内联表元素
a { display: inline-block; }
a:hover { transform: scale(2,2); }
此外,CSS中没有点击状态。可能的选项包括:active
或:hover
,或使用checkbox hack。
a {
background-color: green;
color: white;
padding: 10px 20px;
text-decoration: none;
border: 2px solid #85ADFF;
border-radius: 30px 10px;
transition: all 2s;
display: inline-block; /* <-- added declaration */
}
a:hover{ transform: scale(2,2); }
/* just for demo */
body { padding: 2em; text-align: center; }
&#13;
<a href="xyz.html">click here</a>
&#13;
答案 1 :(得分:6)
使用display:block
并为其指定高度和宽度
a {
background-color: green;
color: white;
padding: 10px 20px;
text-decoration: none;
border: 2px solid #85ADFF;
border-radius: 30px 10px;
transition: 2s all ease-in;
display: block;
width:100px;
height:50px;
}
a:hover {
transform: scale(2, 2);
}
&#13;
<center><a href="xyz.html">click here</a>
</center>
&#13;