您好我一直在尝试在drupal块中创建一个智能按钮菜单集,该菜单会记住点击了哪个按钮(它所在的站点)。出于不重要的原因,它不是一个菜单,它是一个块内项目。我在线创建了以下内容:
<div><a href="site1" class="button" style="width: 110px;">Overview</a></div>
<div><a href="site2" class="button" style="width: 120px;">Instruments</a></div>
<div><a href="site3" class="button" style="width: 110px;">Travel</a></div>
这加上以下css产生了可爱的按钮:
.button {
background-color: #61210b;
color: white;
float:left;
padding: 2px;
border: 2px solid #000000;
border-radius: 5px;
text-shadow: 1px 1px #000000;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
font-family: 'verdana';
margin-bottom: 10px;}
.button:hover {
background-color: green;
color: white;}
.button:focus {
background-color: green;
color: white;}
.button:active {
background-color: green;
color: white;}
所以上面的一切都很棒。但是,绿色活化颜色不会停留。一旦我点击它就会回到之前的状态。我想要它显示&#39;它所使用的页面颜色发生变化,只有当前选择的按钮才会显示绿色。除了那个小问题,我没有做得很好。我已经在网站上阅读了一下,这里有一些不起作用的东西: - &GT;内联php,创建错误链接不可读,如果我用不同的颜色定义一个类,这不起作用:
<a href="site1" class="<?php if(page() == "foobar") echo "selected"; else echo "button" ?>">Overview</a>
什么也行不通的是在<a href >
或<div>
中定义一个额外的类以使其被选中&#39;,如果我使用css文件并且
。选择{颜色:绿色; } #selected a {color:green:}
我可以永久地将颜色变为绿色,这根本不是我想要的。我之前看过使用列表<li id="selected">
来创建菜单的讨论,但这不仅不会给我非常漂亮的按钮,就像我的div格式那样,它也很平常不起作用。请参阅:CSS: How to change colour of active navigation page menu
颜色只是永久变化,我只想在页面=链接页面时改变颜色。由于我使用div这意味着我也不能使用其他伪类选择器技巧,如:target或:root。我有一种感觉php是要走的路,但我不知道为什么它不能从我的drupal盒子项目中读取。它没有html或css内联的问题。有什么想法吗?
答案 0 :(得分:0)
试试此代码
CSS
.button:active, .button.selected {
background-color: green;
color: white;
}
PHP
<a href="site1" class="<?php if(page() == "foobar") echo "selected button"; else echo "button"; ?>">Overview</a>
你写的是要求其他东西......
.selected a
定位的是&#34;所选&#34;这是一个锚标签,你的意思是一个锚标签,其选择类= a.selected
答案 1 :(得分:0)
好的,所以我从系统管理员那里得到回复,Drupal安全设置不允许内联php或java脚本。用div语句实际上没有办法做到这一点。唯一的方法是删除所有内容并创建一个新的菜单块类型。在菜单块中,如果使用css
,则psuedo-class:active将保持活动状态li .active
否则你可以尝试启用php但大多数drupal区域不允许或java脚本(至少它不允许我在哪里)。