【问题标题】:Making Materialize slider responsive使 Materialise 滑块响应
【发布时间】:2016-02-28 00:32:26
【问题描述】:

我正在尝试使用 CSS 使 Materialize 滑块响应,但它无法正常工作。当我使用 Firefox 的自适应视图测试我的代码时,我得到的滑块图像响应的灰色背景比滑块图像的高度大得多(如下所示)。

   .slider .slides li img {

background-size: 100% auto;;
background-repeat: no-repeat;
}
<div class="row">
<div class="slider " >
  <ul class="slides ">
                <li>
      <img class="responsive-img" id="img" src="{{ asset('font/images/IMG_61.jpg') }}"> 
    </li>
      <li>
      <img class="responsive-img" id="img" src="{{ asset('font/images/IMG_53.jpg') }}"> 
    </li>
    <li>
      <img class="responsive-img" id="img" src="{{ asset('font/images/IMG_2.jpg') }}"> 
    </li>
  </ul>
</div>
</div>

screen shot size 360×640

【问题讨论】:

    标签: css slider materialize responsive-slides


    【解决方案1】:

    试试这个,对我有用

     .slider .slides {
        background-color: transparent;
        margin: 0;
        height: 400px;
    }
    
    .slider .slides li img {
        height: 100%;
        width: 100%;
        background-position: center;
        background-size:100% auto;
        background-repeat: no-repeat;
    }
    

    【讨论】:

    • 这使图像具有响应性,但滑块不依赖于固定高度(css 和 js),这意味着它会在图像与浏览器窗口一起缩小时将边框/边距保持在顶部/底部。 .. 我开始后悔离开 Bootstrap
    • 是的,我也在尝试,但同样的问题,所以我尝试了一些修复方法来为我工作
    【解决方案2】:

    你确实有添加:

    .fullscreen
    

    到滑块,这可以工作,如文档中所示。耐心阅读人,仅此而已:)

    https://materializecss.com/fullscreen-slider-demo.html

    Codepen 显示标记和初始化:

    https://codepen.io/doughballs/pen/YzXqdPO

    <div class="slider fullscreen">
      <ul class="slides">
        <li class="active" style="opacity: 1; transform: translateX(0px) translateY(0px);">
          <img src="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" style="background-image: url(&quot;https://images.unsplash.com/photo-1464817739973-0128fe77aaa1?dpr=1&amp;auto=compress,format&amp;fit=crop&amp;w=1199&amp;h=799&amp;q=80&amp;cs=tinysrgb&amp;crop=&quot;);"> <!-- random image -->
          <div class="caption center-align" style="opacity: 1; transform: translateX(0px) translateY(0px);">
            <h3>This is our big Tagline!</h3>
            <h5 class="light grey-text text-lighten-3">Here's our small slogan.</h5>
          </div>
        </li>
        <li class="" style="opacity: 0; transform: translateX(0px) translateY(0px);">
          <img src="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" style="background-image: url(&quot;https://ununsplash.imgix.net/photo-1414849424631-8b18529a81ca?q=75&amp;fm=jpg&amp;s=0e993004a2f3704e8f2ad5469315ccb7&quot;);"> <!-- random image -->
          <div class="caption left-align" style="opacity: 0; transform: translateX(-100px);">
            <h3>Left Aligned Caption</h3>
            <h5 class="light grey-text text-lighten-3">Here's our small slogan.</h5>
          </div>
        </li>
        <li class="" style="opacity: 0; transform: translateX(0px) translateY(0px);">
          <img src="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" style="background-image: url(&quot;https://ununsplash.imgix.net/uploads/1413259835094dcdeb9d3/6e609595?q=75&amp;fm=jpg&amp;s=6a4fc66161293fc4a43a6ca6f073d1c5&quot;);"> <!-- random image -->
          <div class="caption right-align" style="opacity: 0; transform: translateX(100px);">
            <h3>Right Aligned Caption</h3>
            <h5 class="light grey-text text-lighten-3">Here's our small slogan.</h5>
          </div>
        </li>
      </ul>
    <ul class="indicators"><li class="indicator-item active"></li><li class="indicator-item"></li><li class="indicator-item"></li></ul></div>
    

    【讨论】:

      【解决方案3】:

      这是对我有用的解决方案: 中小型设备手动分配滑块高度为 250px,大型设备(宽度超过 600px 的设备)为 600px 滑块高度

       @media only screen and (max-width: 600px) {
                .slides {
                  height: 250px !important;
                }
                  .slider {
                       height: 250px !important;
                  }
              }
      
      @media only screen and (min-width: 600px) {
                .slides {
                  height: 600px !important;
                }
                  .slider {
                       height: 600px !important;
                  }
              }
      

      【讨论】:

      • @YunusTemurlenk 我是在 StackOverflow 中写答案的新手。谢谢你的建议。
      猜你喜欢
      • 2015-08-28
      • 2019-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多