【问题标题】:Add active class and CSS to links <a> inside of buttons bootstrap将活动类和 CSS 添加到按钮引导程序内的链接 <a>
【发布时间】:2016-04-08 15:56:28
【问题描述】:

大家好,我在为课程设计网站时正在学习 bootstrap/CSS。

Heroku app

现在我的标题很好。有一些按钮,它们有一个&lt;a&gt; 标签,涵盖了所有这些,并且都在一些 div 和容器中。

检查器显示&lt;a&gt; 标签。我使它们与点击空间的按钮一样大,所以我认为我必须定位这些标签而不是按钮。

我最近尝试彻底检查标题并使用 Bootstrap 文档中的标题并做了一个 jQuery 脚本

$(function() {
 $('button').click( function() {
$(this).addClass('active').siblings().removeClass('active');
}); 
});

这改变了白色背景的样式(我选择活跃),但它没有保留。一旦重定向发生,它就消失了。

我是否应该使用 :visited 然后删除它,因为我认为 :visited 是一个在我单击链接时不会改变的属性。

Link to header file

Link to CSS file

这是我认为可以工作的新添加的 CSS,所有类的路径到 &lt;a&gt; 标签。

标题属性不相关,但不想遗漏任何内容。

header{
 text-align: center;
 padding-bottom: 0em;

/* SHOULD THIS WORK?  */
    .navbar  .container .btn-group button.active a{
    background-color: white;
}

}

EDIT Header HTML -> &lt;a&gt; 标签的宽度为:100%;高度:100%;所以我总是点击它们而不是按钮。不知道更好的方法

<header class="navbar navbar-fixed-top navbar-inverse">
<div class="container">
<div class="btn-group">

    <button type="button "class="btn btn-lg"><%= link_to current_user.name, current_user %></button>

    <button type="button" class="btn btn-lg"><%= link_to "Log Out", root_path %></button>

    <button type="button" class="btn btn-lg"><%= link_to "New Event", new_event_path %></button>

    <button type="button" class="btn btn-lg"><%= link_to "All Events", events_path %></button>

我基本上想要 Rift 网站之类的东西

Oculus rift

无论您使用 Rift/Touch/Oculus Ready Pcs,它们的格式都不同,它们是粗体并且下面有一条线。我想要它作为我的标题,但要使用白色背景。

【问题讨论】:

  • 我希望标题更改为背景颜色:白色。当我在那个站点时,就是在我点击链接之后,我希望它保持这种状态,直到我转到另一个站点。这些都没有发生
  • 寻求代码帮助的问题必须在问题本身中包含重现该问题所需的最短代码。虽然您提供了link to an example or site,但如果链接失效,您的问题对于未来遇到相同问题的其他 SO 用户将毫无价值。
  • 你不应该在

标签: jquery html css ruby-on-rails twitter-bootstrap


【解决方案1】:

你在寻找

a:focus {
    background-color:white;
}

编辑

如果你想要点击链接后一直是白色背景,你需要创建一个cookie

$(function() {
    // Check cookie
    if (document.cookie.indexOf("clicked") >= 0) {
        // Change header
        $('header').css('background-color', 'white');
    } else {
        // Create trigger
        $('button').click(function(){
            $('header').css('background-color', 'white');
            // Create cookie
            document.cookie = 'clicked=1;';
        });
    }
});

【讨论】:

  • 但我需要将 (a) 放在按钮类中,对吗?我这样做了,但没有用。还有 jquery 函数呢,因为它的目标是按钮而不是 (a)
  • 没有。按钮也有状态 :focus。
  • 查看我的编辑。这有效,但它改变了整个背景白色。我添加了 html,所以你可以看到它是如何完成的。
【解决方案2】:

我不知道您为什么将 &lt;a&gt; 嵌套在 &lt;button&gt; 中,但如果我理解您的问题,这就是您所需要的:

$(function() {
    $('button').click( function() {
        var nav = $('.navbar.navbar-fixed-top.navbar-inverse');
        $(this).addClass('active');
        nav.css('background-color', '#fff');
    }); 
});

【讨论】:

  • 我试过这个,但它什么也没做。我认为这是因为我从不“单击”按钮,因为 标签位于按钮顶部,这就是我将其嵌套在 内的原因
猜你喜欢
  • 1970-01-01
  • 2010-12-29
  • 2018-12-19
  • 1970-01-01
  • 2016-01-11
  • 1970-01-01
  • 2021-12-22
  • 2018-02-05
  • 1970-01-01
相关资源
最近更新 更多