按下<button> CSS
我想创build一个button,当它被按下时改变它的样式。 这是我的CSS代码:
button { font-size: 18px; border: 2px solid gray; border-radius: 100px; width: 100px; height: 100px; } button:active { font-size: 18px; border: 2px solid red; border-radius: 100px; width: 100px; height: 100px; }
只有当我点击并按住它时,它才会改变。 我想让它在按下后改变风格。 例如,正常状态为白色,点击状态为绿色,点击释放后为红色。
如果您使用<a>
标签而不是button,则可以执行此操作。 我知道这不是你所要求的,但如果你找不到解决scheme,它可能会给你一些其他的select:
从另一个答案的演示借用我在这里产生:
a { display: block; font-size: 18px; border: 2px solid gray; border-radius: 100px; width: 100px; height: 100px; text-align: center; line-height: 100px; } a:active { font-size: 18px; border: 2px solid green; border-radius: 100px; width: 100px; height: 100px; } a:target { font-size: 18px; border: 2px solid red; border-radius: 100px; width: 100px; height: 100px; }
<a id="btn" href="#btn">Demo</a>
您可以使用:focus
只要用户不在其他位置点击, :focus
将保持不变。
button:active { border: 2px solid green; } button:focus { border: 2px solid red; }
我们应该包括一个小的JS? 因为CSS基本上不是为这个工作创build的。 CSS只是一个样式表,可以将样式添加到HTML中,但是它的伪类可以做一些基本的CSS不能做的事情。 例如button:active
主动是伪的。
参考:
http://css-tricks.com/pseudo-class-selectors/您可以在这里了解更多关于pseudo的内容!; 🙂
你的代码:
代码,你有基本但有帮助。 是的:active
将只发生一次点击事件触发!
button { font-size: 18px; border: 2px solid gray; border-radius: 100px; width: 100px; height: 100px; } buttn:active { font-size: 18px; border: 2px solid red; border-radius: 100px; width: 100px; height: 100px; }
这就是CSS会做什么的,什么暗示是好的,但是他会build议需要a
标签。
如何使用CSS:
您也可以使用:focus
。 :focus
一旦点击完成, :focus
就会工作,直到你点击其他地方,这就是CSS,你正在尝试使用CSS,所以使用:focus
来改变button!
JS会做什么:
JavaScript的jQuery库将帮助我们为这个代码。 这是一个例子:
$('button').click(function () { $(this).css('border', '1px solid red'); }
这将确保button保持红色,即使点击了。 要更改焦点types(将红色更改为其他颜色),可以使用以下命令:
$('button').click(function () { $(this).css('border', '1px solid red'); // find any other button with a specific id, and change it back to white like $('button#red').css('border', '1px solid white'); }
这样,您将创build一个导航菜单。 当你点击它们时,会自动改变标签的颜色。 🙂
希望你能得到答案。 祝你好运! 干杯。
如果button打开一个新页面,你可以用php来做到这一点。
例如,如果button链接到一个名为pagename.php的页面,那么url:www.website.com/pagename.php,只要您停留在该页面上,该button将保持红色。
我用“/”分解了url,
url [0] = pagename.php
<? $url = explode('/', substr($_SERVER['REQUEST_URI'], strpos('/',$_SERVER['REQUEST_URI'] )+1,strlen($_SERVER['REQUEST_URI']))); ?> <html> <head> <style> .btn{ background:white; } .btn:hover, .btn-on{ background:red; } </style> </head> <body> <a href="/pagename.php" class="btn <? if (url[0]='pagename.php') {echo 'btn-on';} ?>">Click Me</a> </body> </html>
注意:我没有尝试这个代码。 它可能需要调整。