将图像滑块高度设置为最小图像的高度

时间:2015-06-08 09:39:22

标签: javascript jquery css

我使用http://bxslider.com/作为响应式图片滑块。滑块当前将高度设置为最大图像的高度。我想让它成为最小图像的高度,并为大于最小图像的图像切掉任何多余的图像。

我尝试adaptiveHeight: true,但这会导致滑块调整大小时滑块下方的内容移动。我尝试使用css,以下几乎工作。

.bx-wrapper, .bx-viewport {
    height: 300px !important;
}

我在这里遇到的问题是300px看起来非常适合我的屏幕,但我有一个响应式网站,所以当我在较小的屏幕上观看时,图像下方有大量的空白区域,因为300px太大了。 / p>

2 个答案:

答案 0 :(得分:2)

为您的应用设置不同的屏幕分辨率。然后使用@media查询来更改CSS:

以下代码究竟对您的HTML做了什么:

  1. 首先,每个浏览器页面都有自己的视口大小或窗口大小。
  2. 媒体查询基于窗口大小。
  3. 如果您的窗口大小属于特定范围,则会应用这些样式。
  4. 要根据屏幕尺寸制作BX滑块响应,我们会调整height
  5. /* Default Style */
    .bx-wrapper, .bx-viewport {
        height: 300px !important;
    }
    /* Smartphones (portrait and landscape) ----------- */
    @media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
        .bx-wrapper, .bx-viewport {
            height: 250px !important;
        }
    }
    
    /* Smartphones (landscape) ----------- */
    @media only screen and (min-width : 321px) {
        .bx-wrapper, .bx-viewport {
            height: 275px !important;
        }
    }
    
    /* Smartphones (portrait) ----------- */
    @media only screen and (max-width : 320px) {
    /* Styles */
    }
    
    /* iPads (portrait and landscape) ----------- */
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) {
    /* Styles */
    }
    
    /* iPads (landscape) ----------- */
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) {
    /* Styles */
    }
    
    /* iPads (portrait) ----------- */
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
    /* Styles */
    }
    /**********
    iPad 3
    **********/
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : landscape) and (-webkit-min-device-pixel-ratio : 2) {
    /* Styles */
    }
    
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) and (-webkit-min-device-pixel-ratio : 2) {
    /* Styles */
    }
    /* Desktops and laptops ----------- */
    @media only screen  and (min-width : 1224px) {
    /* Styles */
    }
    
    /* Large screens ----------- */
    @media only screen  and (min-width : 1824px) {
    /* Styles */
    }
    
    /* iPhone 4 ----------- */
    @media only screen and (min-device-width : 320px) and (max-device-width : 480px) and (orientation : landscape) and (-webkit-min-device-pixel-ratio : 2) {
    /* Styles */
    }
    
    @media only screen and (min-device-width : 320px) and (max-device-width : 480px) and (orientation : portrait) and (-webkit-min-device-pixel-ratio : 2) {
    /* Styles */
    }
    
    /* iPhone 5 ----------- */
    @media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation : landscape) and (-webkit-device-pixel-ratio: 2){
    /* Styles */
    }
    
    @media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation : portrait) and (-webkit-device-pixel-ratio: 2){
    /* Styles */
    }
    
    /* iPhone 6 ----------- */
    @media only screen and (min-device-width: 375px) and (max-device-height: 667px) and (orientation : landscape) and (-webkit-device-pixel-ratio: 2){
    /* Styles */
    }
    
    @media only screen and (min-device-width: 375px) and (max-device-height: 667px) and (orientation : portrait) and (-webkit-device-pixel-ratio: 2){
    /* Styles */
    }
    
    /* iPhone 6+ ----------- */
    @media only screen and (min-device-width: 414px) and (max-device-height: 736px) and (orientation : landscape) and (-webkit-device-pixel-ratio: 2){
    /* Styles */
    }
    
    @media only screen and (min-device-width: 414px) and (max-device-height: 736px) and (orientation : portrait) and (-webkit-device-pixel-ratio: 2){
    /* Styles */
    }
    
    /* Samsung Galaxy S3 ----------- */
    @media only screen and (min-device-width: 320px) and (max-device-height: 640px) and (orientation : landscape) and (-webkit-device-pixel-ratio: 2){
    /* Styles */
    }
    
    @media only screen and (min-device-width: 320px) and (max-device-height: 640px) and (orientation : portrait) and (-webkit-device-pixel-ratio: 2){
    /* Styles */
    }
    
    /* Samsung Galaxy S4 ----------- */
    @media only screen and (min-device-width: 320px) and (max-device-height: 640px) and (orientation : landscape) and (-webkit-device-pixel-ratio: 3){
    /* Styles */
    }
    
    @media only screen and (min-device-width: 320px) and (max-device-height: 640px) and (orientation : portrait) and (-webkit-device-pixel-ratio: 3){
    /* Styles */
    }
    
    /* Samsung Galaxy S5 ----------- */
    @media only screen and (min-device-width: 360px) and (max-device-height: 640px) and (orientation : landscape) and (-webkit-device-pixel-ratio: 3){
    /* Styles */
    }
    
    @media only screen and (min-device-width: 360px) and (max-device-height: 640px) and (orientation : portrait) and (-webkit-device-pixel-ratio: 3){
    /* Styles */
    }
    

    我是前两个人做的。将此作为模板保存,您可以使用开发人员工具中的Chrome响应式设计测试程序测试不同的分辨率:

    Chrome Dev Tools

答案 1 :(得分:0)

滑块设置bx-viewport到JS的高度,以响应屏幕大小(AKA响应)。

如果你想强制图片大小,你可以定位.bx-wrapper img,但是你需要媒体查询,否则你会失去响应能力。