【问题标题】:Style each link (many) based on a media query根据媒体查询设置每个链接(许多)的样式
【发布时间】:2013-10-31 18:24:35
【问题描述】:

我在页面上有许多链接作为列表的一部分。

我想根据媒体查询为每个链接设置不同的背景位置。

到目前为止我的收获

a.firstLink
{
 @media (min-width: 768px) and (max-width: 979px)
 {
   background-position:0px 0px;
 }
}
a.secondLink
{
 @media (min-width: 768px) and (max-width: 979px)
 {
   background-position:0px -100px;
 }
}

这很好,并且有效,但这意味着我必须执行与链接一样多的媒体查询,而且有很多。将其乘以我希望每个链接执行的媒体查询数量 (3),它会变成一些丑陋的 CSS。

【问题讨论】:

  • 为什么不将锚点放在媒体查询中?
  • 请解释一下如何使用它们来解决这个问题,我对它们不太熟悉。
  • Zoidberg 发布了我的建议作为答案 ;)

标签: html css responsive-design media-queries stylesheet


【解决方案1】:

这个解决方案如何?

   @media (min-width: 768px) and (max-width: 979px) {

    a.firstLink {
       background-position:0px 0px;
     }

    a.secondLink {
       background-position:0px -100px;
     }

    }

效果好吗?

第二种解决方案:

   @media (min-width: 320px) and (max-width: 599px),
   (min-width: 600px) and (max-width: 767px),
   (min-width: 768px) and (max-width: 979px) {

    a.firstLink {
       background-position:0px 0px;
     }

    a.secondLink {
       background-position:0px -100px;
     }

    }

这样好吗?

【讨论】:

  • 这可以正常工作,但是我遇到了同样的重复代码问题。更少的媒体查询,当然,但我将为每个媒体查询提供 3 个长链接列表。 +1。
  • 但是,伙计。 Media Quaries 必须在本质上被复制。这很正常。
  • 我不相信这是最有效的方法。关于编辑,这意味着所有 3 个媒体查询的样式都是相同的,就是现在。非常感谢您的回答。
猜你喜欢
  • 2014-03-18
  • 2017-03-07
  • 2012-05-16
  • 1970-01-01
  • 2016-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
相关资源
最近更新 更多