Bootstrap 如何根据屏幕大小/设备使用特定的CSS样式

91zkwejq  于 2023-02-20  发布在  Bootstrap
关注(0)|答案(6)|浏览(254)

Bootstrap 3在响应实用程序中有很好的CSS类,允许我根据屏幕分辨率隐藏或显示一些块www.example.comhttp://getbootstrap.com/css/#responsive-utilities-classes
我在CSS文件中有一些样式规则,我想应用或不基于屏幕分辨率。
我该怎么做呢?
我打算将所有CSS文件最小化为生产部署中的文件,但如果没有其他解决方案,只能为不同的屏幕分辨率使用单独的CSS文件,这是可以避免的。

5ktev3wc

5ktev3wc1#

使用@media queries。它们的用途正是如此。下面是它们的工作原理示例:

@media (max-width: 800px) {
  /* CSS that should be displayed if width is equal to or less than 800px goes here */
}

这只适用于宽度等于或小于800px的设备。
了解更多关于Mozilla Developer Network上的媒体查询的信息。

yfwxisqw

yfwxisqw2#

检测是自动的。您必须指定每种屏幕分辨率可以使用的css:

/* for all screens, use 14px font size */
body {  
    font-size: 14px;    
}
/* responsive, form small screens, use 13px font size */
@media (max-width: 479px) {
    body {
        font-size: 13px;
    }
}
w41d8nur

w41d8nur3#

@media查询服务于此,举个例子:

@media only screen and (max-width: 991px) and (min-width: 769px){
 /* CSS that should be displayed if width is equal to or less than 991px and larger 
  than 768px goes here */
}

@media only screen and (max-width: 991px){
 /* CSS that should be displayed if width is equal to or less than 991px goes here */
}
9rygscc1

9rygscc14#

我创建了一个小的javascript工具来根据屏幕大小设计元素的样式,而不需要使用媒体查询或重新编译 Bootstrap css:
https://github.com/Heras/Responsive-Breakpoints
只需将responsive-breakpoints类添加到任何元素,它就会自动将xs sm md lg xl类添加到这些元素。
演示:https://codepen.io/HerasHackwork/pen/rGGNEK

eni9jsuy

eni9jsuy5#

为什么不使用媒体查询,它也不太复杂。

@media only screen and (max-device-width:480px) {
enter code here

}

polkgigr

polkgigr6#

为什么不使用**@media-queries**呢?它们就是为此目的而设计的。您也可以使用jQuery来实现这一点,但在我的书中这是最后的手段。

var s = document.createElement("script");

//Check if viewport is smaller than 768 pixels
if(window.innerWidth < 768) {
    s.type = "text/javascript";
    s.src = "http://www.example.com/public/assets/css1";
}else { //Else we have a larger screen
    s.type = "text/javascript";
    s.src = "http://www.example.com/public/assets/css2";
}

$(function(){
    $("head").append(s); //Inject stylesheet
})

相关问题