【问题标题】:Rails - Bootstrap - styling link_to contentRails - Bootstrap - 样式链接到内容
【发布时间】:2016-03-14 02:48:37
【问题描述】:

我很难把握住轨道。

我正在努力理解为什么我的 CSS 不适用于 link_to 位内容。

我有一个表单,用户可以在其中写帖子。然后我在一个展示页面上显示这些帖子,并在其中一个关键页面上显示它们的摘录。该提取物存储在我的文章文件夹中的一个名为 _extract.html.erb 的部分中。

它有以下内容:

<div class="row">
  <div class="col-md-10 col-md-offset-1">
    <% Article.all.in_groups_of(2) do |group| %>
      <div class="row">
        <% group.compact.each do |article| %>
            <div class="col-md-5 col-md-offset-1">
              <div class="indexdisplay">
              <%= image_tag article.image_url, width: '100%', height: '200px' if article.image.present? %>
                  <a class="extracttitle"><%= link_to article.title, article %> </a>
                <div class="intpol3">    <%= truncate(article.body, :ommission => "...", :length => 250) %></div>
                 </div>
            </div>
              <% end %>
              </div>

    <% end %>

  </div>
</div>

然后我在关键页面上包含该部分内容:

文章页面本身的样式运行良好,其中:

<div class="intpol3" style="text-align: left; font-size: 17px; padding-top:10px; color: #003366">
                    <%= @article.title %>
                </div>

当我制作 div class=extracttitle 时,该部分也可以正常工作

Extracttitle 是一个 CSS 类,定义为:

.extracttitle {
  font-family: 'Roboto', sans-serif;
  font-size: 17px;
  padding-bottom: 5px;
  color: #003366;
  margin-top: 5px;
  line-height: 1.5;
  letter-spacing: 1px;
  text-align:left; 
  padding-left:1px;
  a:link {text-decoration:none; background-color:transparent; color: #003366;};
  a:visited {text-decoration:none;background-color:transparent; color:#003366;};
  a:hover {text-decoration:none;background-color:transparent; color:#E50851;};
  a:active {text-decoration:none;background-color:transparent; color:#003366;};
}`

当我渲染这个页面时,除了标题之外的所有 css 内容都会被标准设置中的某些东西覆盖,该设置在链接上应用丑陋的样式。

我不知道如何覆盖它。

我尝试了一个 div 标签,我尝试将 html_options 放在链接标签中。什么都没有。

如何将 CSS 放置在 Rails 中标记的链接内容上?我觉得这应该有一个简单的解决方案。我已经尝试了 20 多种变体,但找不到解决方案。

我的 CSS 文件设置如下:

application.css.scss

 *= require_tree .
 *= require_self
 */

framework_and_overrides.css.scss

@import "font-awesome-sprockets";
@import "font-awesome";
@import "bootstrap-slider";

custom.css.scss

@import "bootstrap-sprockets";
@import "bootstrap";

我有一个名为articles.css.scss 的文件,其中存储了这些文件。也许下面的评论中有关于加载顺序的内容。如果文件是按字母顺序加载的,则自定义的 c 位于文章之后。

【问题讨论】:

  • 您的 .extracttitle {blah blah} 是否在 application.css.scss 中定义?
  • 在articles.css.scss
  • 将其移至 application.css.scss 看看会发生什么。作为调试过程的一部分。
  • 你也需要关闭它,像这样: /* *= require_tree 。 *= require_self */

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


【解决方案1】:

默认情况下,引导程序的 css 文件对您是隐藏的,假设您使用的是 gem。这可能是需要看的东西

我建议查看Railscast for bootstrap,因为它显示了它,但https://github.com/seyhunak/twitter-bootstrap-rails 的文档还指出了以下将强制 css 文件的命令

rails g bootstrap:themed [RESOURCE_NAME]

希望你能找到正确的方向

【讨论】:

  • 嗨,我不使用那个宝石。我使用: gem 'sass-rails', '~> 5.0' gem 'bootstrap-sass', '~> 3.3.5.1' gem 'font-awesome-sass', '~> 4.4.0' gem 'bootstrap-slider -rails' gem 'bootstrap-datepicker-rails' gem 'autoprefixer-rails'
  • 那么你能看到引导 css 文件吗?
  • bootstrap 在我的应用程序中的其他任何地方都可以正常工作。它与我认为的链接标签有关
  • 怎么样"
  • 不-它不起作用。当我检查它的元素时,它引用了一个提取标题,但它显示了所有的媒体(它甚至没有在样式视图面板中显示提取的 css
【解决方案2】:

让我们测试一下,看看会发生什么:

  1. 从以下方面重构 DOM:

&lt;a class="extracttitle"&gt;&lt;%= link_to article.title, article %&gt; &lt;/a&gt;

到:

&lt;%= link_to article.title, article, class: "extracttitle" %&gt;

刷新并查看发生了什么,如果不工作请按照步骤 2

  1. 确保在引导后包含您的 css,检查您的 application.scss 文件,应该类似于

application.css.scss

@import "bootstrap-sprockets";
@import "bootstrap";
@import "framework_and_overrides"
@import "custom" /* don't import bootstrap inside this file. */
  1. !important 添加到您的 css 文件中

添加这一行

color: red !important;

在您的.extracttitle{} 中查看文本是否变为红色

【讨论】:

  • 嗨韦恩,我已经尝试了第一部分。这不会改变任何事情。
  • 您可能正在执行第 2 步。请参阅上面的文件结构。你认为我应该改变现状吗?
  • 嗨@user2860931,我更新了application.css.scss 文件,你应该看看,最好的做法是不需要树。在application.css.scss,如果你使用.scss,你应该使用@import。先试试看,然后告诉我你看到了什么。
  • 嗨,Wayne,但是如果我将 application.css.scss 更改为您所拥有的方式,自定义还剩下什么?另外,如果我删除树,样式表文件夹中的所有其他文件如何合并?
  • 您好,您应该只导入您想要使用的 css 文件,而不是您文件夹中的所有文件。如果您的custom.scss 那里没有更多代码,您可以删除它或不导入它。
猜你喜欢
  • 2010-11-28
  • 1970-01-01
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-27
  • 2012-09-15
相关资源
最近更新 更多