【问题标题】:Creating a clickable div with 'link_to' syntax使用“link_to”语法创建可点击的 div
【发布时间】:2014-05-12 04:13:39
【问题描述】:

我有一个可点击的 div,但我不想使用链接的完整地址,而是想使用 ruby​​ 的 'link_to' 语法。我如何指向“facebook_path”而不是完整地址?

<div id="item_1", onclick="location.href='http://www.facebook.com';" style="cursor:pointer;"> Home </div>

【问题讨论】:

    标签: html css ruby-on-rails ruby


    【解决方案1】:

    您可以使用以下语法来做到这一点:

    <%= link_to "http://www.facebook.com", id:"item_1" do %>
      #your code here
    <% end %>
    

    我希望这就是你要找的东西

    【讨论】:

    • 嘿,差不多了!位置和字体工作。但是出现的问题是链接现在在单击时会改变颜色并带有下划线。你知道怎么去掉吗?谢谢
    • 这是链接/href的默认颜色,可以通过css轻松更改
    • 关于下划线。默认情况下它也是如此,也可以使用 text-decoration: none; css 属性将其删除。但请确保将此属性应用于锚标记
    【解决方案2】:

    我假设您只是在使用 erb,但您可以将一个块传递给 link_to 助手。所以你的例子是:

    <%= link_to 'http://www.facebook.com' do %>
      <div id="item_1" style="cursor:pointer;">
        Home
      </div>
    <% end %>
    

    【讨论】:

    • 问题是当我这样做时,我为“item_1”设置的格式和位置不再使用。它恢复到正常链接。你知道怎么解决吗?谢谢!
    • 将块元素放在内联元素中并不是最好的做法,尽管这是可能的。我不知道您在做什么,但请尝试将您的 div 元素更改为 span
    【解决方案3】:

    根据您的 cmets,让我解释一下 cssrails 之间的区别(这是您的问题):

    您可以使用以下代码创建a 块:

    <%= link_to your_path_helper, class: "class", id: "id" do %>
       Stuff here
    <% end %>
    

    这将呈现以下 HTML:

    <a href="http://your_path.com/helper" class="class", id="id">Stuff here</a>
    

    您现在的问题是“如何使这种样式与另一个元素(div 或类似元素)相同”。这样做的方法是使用css:

    #app/assets/stylesheets.css
    a.id {
       color: #000; /* makes the link color black */
       text-decoration: none; /* Removed underline */
    }
    

    CSS 通过设置页面不同元素的样式来工作。 classid 选择器允许您识别特定项目,而 css properties 帮助您选择正确的样式

    您的问题是您尝试以与 div 相同的方式设置 a 元素的样式。您需要在 CSS 中选择 a 元素和样式

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-01
      • 2014-11-04
      • 2016-11-27
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 2021-04-08
      相关资源
      最近更新 更多