0

我经常在一个样式表需要完整构建和部署才能更新的网站上工作,这是一个很大的麻烦,不值得更新一些基本的东西,比如链接样式。

我有一种方法可以通过 CMS 应用我自己的样式以避免完整的构建和部署,但是如果样式已经在其中一张表中定义,或者使用更具体的选择器,我必须用 !important 覆盖。

我不相信使用 !important 会产生负面影响,尽管我知道这不是最佳实践,因为它可能很难维护。但这是一个我不确定的例子。假设我有这段 HTML:

            <p class="snaps">
                This is a bit of text followed <a class="snaps-link">by a link</a>
            </p>

在一个样式表中,我们有:

            .snaps {text-align: center; font-weight: bold;}

在另一个样式表中, a 元素的定义如下:

            a { outline: none; color: #6D6E71; text-decoration: none;}

我想在 CMS 中编写这样的样式(通过外部或内部样式表):

            p.snaps a.snaps-link{color: orange; text-decoration: underline; font-weight: normal;}

这样做有问题吗?我是公司里唯一一个对编码一无所知的人,所以我没有人可以从中汲取灵感。所以我来找你......有兴趣听听任何人的想法。

我遇到的另一个问题是我经常被要求删除元素。通常最简单的方法是使用 display: none 并隐藏它们。我认为如果我隐藏文本可能会受到 SEO 处罚,但还有其他我不知道的后果吗?

谢谢你。

4

1 回答 1

0

这个 CSS 没有任何问题:

p.snaps a.snaps-link{color: orange; text-decoration: underline; font-weight: normal;}

你在那里使用的是一个组合器,它是完全合法的。在此处阅读有关组合器的更多信息。

你的方法display: none;是一个很好的解决方案。这样做不应该有任何后果,这会对你产生任何重大的负面影响。如果您可以通过 CMS 注入 JavaScript,则可以使用它来完全删除元素

于 2012-12-20T23:59:22.463 回答