标签: media-queries

在javascript中获取设备宽度

有没有办法使用javascript获取用户设备宽度,而不是视口宽度?

正如我所说,CSS媒体查询提供了这一点

@media screen and (max-width:640px) {
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

@media screen and (max-device-width:960px) {
    /* ... */
}
Run Code Online (Sandbox Code Playgroud)

如果我的目标是横向智能手机,这将非常有用.例如,在iOS max-width:640px上,即使在iPhone 4上,也会针对横向和纵向模式进行声明. 据我所知,这不是Android的情况,因此在此实例中使用设备宽度成功地定位两个方向,没有针对桌面设备.

但是,如果我基于设备宽度调用javascript绑定,我似乎仅限于测试视口宽度,这意味着额外的测试,如下所示,

if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }
Run Code Online (Sandbox Code Playgroud)

考虑到设备宽度可用于css,这对我来说似乎并不优雅.

javascript css media-queries

112
推荐指数
9
解决办法
20万
查看次数

Retina显示,高分辨率背景图像

这可能听起来像一个愚蠢的问题.

如果我使用这个CSS片段进行常规显示(其中box-bg.png200px乘200px);

.box{
    background:url('images/box-bg.png') no-repeat top left;
    width:200px;
    height:200px
}
Run Code Online (Sandbox Code Playgroud)

如果我使用这样的媒体查询来定位视网膜显示(使用@ 2x图像作为高分辨率版本);

@media (-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) { 

    .box{background:url('images/box-bg@2x.png') no-repeat top left;}
}
Run Code Online (Sandbox Code Playgroud)

我是否需要将.boxdiv 的大小加倍到400px乘以400px以匹配新的高分辨率背景图像?

css media-queries responsive-design

97
推荐指数
3
解决办法
9万
查看次数

CSS本机变量不适用于媒体查询

我试图在媒体查询中使用CSS变量,但它不起作用.

:root {
  --mobile-breakpoint: 642px;
}

@media (max-width: var(--mobile-breakpoint)) {

}
Run Code Online (Sandbox Code Playgroud)

css media-queries css-variables

95
推荐指数
7
解决办法
3万
查看次数

使用Sass变量和CSS3媒体查询

我正在尝试将Sass变量的使用与@media查询结合使用,如下所示:

$base_width:1160px;

@media screen and (max-width: 1170px) {$base_width: 960px;}
@media screen and (min-width: 1171px) {$base_width: 1160px;}
Run Code Online (Sandbox Code Playgroud)

$base_width 然后在基于样式表宽度百分比的测量中的各个点处定义,以产生流体布局.

当我这样做时,变量似乎被正确识别,但媒体查询的条件不是.例如,无论屏幕宽度如何,上面的代码都会产生1160px的布局.如果我像这样触发@media语句:

@media screen and (min-width: 1171px) {$base_width: 1160px;}
@media screen and (max-width: 1170px) {$base_width: 960px;}
Run Code Online (Sandbox Code Playgroud)

无论屏幕宽度如何,它都会产生960px的布局.另请注意,如果我删除它的第一行,$base_width: 1160px;则返回未定义变量的错误.我缺少什么想法?

sass media-queries

94
推荐指数
6
解决办法
7万
查看次数

CSS媒体查询仅针对iOS设备

是否有@media查询仅针对iOS运行设备?

例如:

@media (min-device-width:320px) and (max-device-width:768px) {
    #nav {
        yada: yada;
    }
}
Run Code Online (Sandbox Code Playgroud)

这也会改变这些宽度视角的Android设备页面的行为?或者我最后弄错了

css media-queries

90
推荐指数
4
解决办法
11万
查看次数

如何删除Twitter Bootstrap 3中的响应功能?

从Bootstrap 3开始,不再有用于响应式和标准样式表的单独文件.那么如何轻松删除响应功能呢?

media-queries responsive-design twitter-bootstrap twitter-bootstrap-3

84
推荐指数
6
解决办法
11万
查看次数

花哨的媒体查询与少数魔术

在一些css类中使用less来为不同的分辨率包装css样式会很不错.

我想做点什么:

footer {
  width: 100%;
}

.tablet {
  footer {
    width: 768px;
  }
}

.desktop {
  footer {
    width: 940px;
  }
}
Run Code Online (Sandbox Code Playgroud)

最后这样的结果应该是结果:

footer {
  width: 100%;
}

@media screen and (min-width: 768px) {
  footer {
    width: 768px;
  }
}

@media screen and (min-width: 992px) {
  footer {
    width: 940px;
  }
}
Run Code Online (Sandbox Code Playgroud)

.tablet可能看起来像这样:

@media screen and (min-width: 768px) {
  .tablet {

  }
}
Run Code Online (Sandbox Code Playgroud)

希望有人有个好主意!

css3 less media-queries responsive-design

79
推荐指数
5
解决办法
5万
查看次数

CSS媒体查询重叠的规则是什么?

我们如何准确地隔离媒体查询以避免重叠?

例如,如果我们考虑代码:

@media (max-width: 20em) {
    /* for narrow viewport */
}

@media (min-width: 20em) and (max-width: 45em) {
    /* slightly wider viewport */
}

@media (min-width: 45em) {
    /* everything else */
}
Run Code Online (Sandbox Code Playgroud)

在所有支持的浏览器中,准确的20em和45em会发生什么?

我见过人们使用:像799px然后800px的东西,但屏幕宽度为799.5像素呢?(显然不是常规显示器,而是视网膜显示器?)


考虑到规格,我对这里的答案最感兴趣.

css css3 media-queries responsive-design

76
推荐指数
2
解决办法
2万
查看次数

Bootstrap - 当屏幕尺寸较小时删除填充或边距

编辑: 当屏幕缩小到480px宽度以下时,我可能会问哪个选择器设置了侧边填充?我一直在浏览bootstrap-responsiveness.css一段时间来找到它,但似乎没有任何影响这一点.

原始 我基本上想要删除任何默认填充或边距设置,以便在较小的设备屏幕上响应.

我有一个background color重写上container-fluid选择器和用于更大的屏幕他们完全呈现100%横跨宽度,但它们的屏幕被减小到更小的尺寸,在默认情况下,自举似乎添加余量或填充上container-fluidcontainer.

<div class="container-fluid">
    <div class="row-fluid">
      test
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我使用自定义css覆盖Bootstrap的默认样式,我应该覆盖哪些媒体查询或选择器来删除较小屏幕上的填充?

css media-queries responsive-design twitter-bootstrap

76
推荐指数
6
解决办法
21万
查看次数

我应该使用max-device-width还是max-width?

使用CSS媒体查询,您可以使用max-device-width目标设备宽度(例如iPhone或Android设备)和/或max-width以页面宽度为目标.

如果您使用max-device-width,当您更改桌面上浏览器窗口的大小时,CSS将不会更改,因为您的桌面不会更改大小.

如果您使用max-width,当您更改桌面上浏览器窗口的大小时,您可能会看到面向移动的样式,例如触摸友好元素和菜单等等.

现在不推荐使用针对特定浏览器(和设备?),您应该对目标设置更加不可知.这也适用于媒体查询吗?

你为什么要瞄准另一个?推荐哪一个?

这是我在生产网站上使用的媒体查询示例:

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (min-device-height: 480px) and (max-device-height: 640px) {  
    /* Change a menu to fit the screen better, etc... */
}
Run Code Online (Sandbox Code Playgroud)

我倾向于使用max-device-widthmax-width.

css css3 media-queries responsive-design

76
推荐指数
3
解决办法
5万
查看次数