除了KnightTheLion的上述答案外,对于使用LESS的人而言,可以使用混入(mixins)来提高编写效率:
// LESS 媒体查询混入模板
@screen-phone: 767px;
@screen-tablet: 922px;
@screen-desktop: 1200px;
.media-phone(@rules) {
@media screen and (max-width: @screen-phone) {
@rules();
}
}
.media-tablet(@rules) {
@media screen and (min-width: (@screen-phone + 1px)) and (max-width: (@screen-desktop - 1px)) {
@rules();
}
}
.media-desktop(@rules) {
@media screen and (min-width: @screen-desktop) {
@rules();
}
}
.media-custom-max(@width, @rules) {
@media screen and (max-width: @width) {
@rules();
}
}
.media-custom-min(@width, @rules) {
@media screen and (min-width: @width) {
@rules();
}
}
// gt=大于
.media-gt-phone(@rules) {
@media (min-width: (@screen-phone + 1px)) {
@rules();
}
}
.media-gt-tablet(@rules) {
@media (min-width: (@screen-tablet + 1px)) {
@rules();
}
}
以下是混入使用的示例:
body {
.media-phone({
scrollbar-width: none;
-ms-overflow-style: none;
});
}
body::-webkit-scrollbar {
.media-phone({
display: none;
});
}
你可以随时添加更多混入并根据需要编辑现有混入,以适应更宽的屏幕尺寸或其他需求。