我正在設計一個顯示文章的網頁。主要內容是文章正文,但也有相關文章的鏈接列表。我想名單通常被顯示在文章的一面,但在以下任一情況將顯示在文章的下面:我可以將CSS媒體查詢與CSS選擇器結合使用嗎?
- 視口< 992px寬
- 有廣泛內容的文章,例如一張大桌子
我用下面的CSS實現了這個...
.article-sidebar {
text-align: left;
}
@media (min-width: 992px) {
.article-sidebar {
float: right;
max-width: 28%;
}
}
@media (max-width: 991px) {
.article-sidebar {
padding-top: 46px;
border-top: 1px solid #eeeeee;
padding-left: 5%;
padding-right: 5%;
}
}
.article-sidebar-bottom {
text-align: left;
padding-top: 46px;
border-top: 1px solid #eeeeee;
padding-left: 5%;
padding-right: 5%;
}
...加上一些JavaScript可以算出如果文章有什麼「廣泛兒童」,並刪除「文章 - 側邊欄'類,並添加'文章 - 側欄底部'類,如果是這樣的話。
但是,我不喜歡> = 991px .article-sidebar
和.article-sidebar-bottom
之間的所有樣式重複。我瞭解,如果同一班級的不同媒體查詢之間有重複,我可以按照here的說明合併它們,如果不涉及媒體查詢,我可以用逗號分隔CSS選擇器,但有什麼辦法可以避免重複自己這個案例?
您必須重新構建標記以增加可跨屏幕尺寸共享的數量。在'.article-sidebar'和'.article-sidebar-bottom'類之間重複樣式是很奇怪的。如果你想要側邊欄上的樣式,它應該只適用於一個類。 –
@DerekPeterson - 謝謝,我認爲重組確實是一條可行的路。我已經完成了這個併發布了我自己的答案。 –
沒問題!我很高興你明白了。 –