【问题标题】:How do I keep my navigation attached to this fluid image?如何让我的导航附加到这个流畅的图像?
【发布时间】:2013-10-23 17:19:32
【问题描述】:

我使用低于 989 像素(最大图像尺寸)的媒体查询为我的背景图像创建了一个断点。我不用来显示图像,因为我想为不同的设备使用不同的图像(这样移动设备当然不会下载最大的图像)。 (每个图像都在特定的断点中定义)。说早了,直播在http://www.glorkianwarrior.com

这个css是这样的:

.splash {
  max-width: 988px;
  margin:auto;
  height:380px;
}

@media (min-width: 989px) {
   .splash {
       background: url('../images/academy.png') no-repeat;
   }
}

@media (max-width: 989px) and (min-width: 321px) {
   .splash {
       background: url('../images/academy-mid.png') no-repeat;
       max-width: 640px;
       padding: 4px;
       position: relative;
       background-size: 100%;
   }
}

这使得一旦页面达到 988 像素或以下(低至 321 像素),初始图像就会变得流畅。在浏览器宽度小于 640 像素之前,它实际上不会改变它的宽度/高度。在其下方嵌套在 .splash 下的导航栏中发生的事情不会改变其位置。这是因为它与.splash 的高度相关。 html 看起来像这样:

<header class="splashhead">
  <div class="splash">
    <nav class="kochalka">
      <ul>
         <li class="navclass first active"><a href="http://glorkianwarrior.com/" title="Home" >Home</a></li>
         <li class="navclass"><a href="news/" title="News" >News</a></li>
         <li class="navclass"><a href="gallery.html" title="Gallery" >Gallery</a></li>
         <li class="navclass last"><a href="guide.html" title="Guide" >Guide</a></li>
      </ul>
    </nav>
  </div>
</header>

如果我不给它那个高度,它就会消失。我试过给它 100% 或页面本身的百分比。我尝试给它的父级指定一个特定的高度,然后在 .splash 上做 100%,但这并没有改变导航栏的位置。

是否可以让此导航根据浏览器大小更改其大小?我是否必须想办法在页面上使用图像,每个图像在它们自己的 div 中,并使用媒体查询在不相关的 div 上显示:none?

【问题讨论】:

    标签: css responsive-design fluid-layout fluid-images


    【解决方案1】:

    您需要将 nav 包装在一个 div 中,然后使用一些巧妙的 CSS 给它一个宽高比。见下文-

    这是您的代码: 如您所见,我在nav 周围添加了一个wrapper div

    <header class="splashhead">
        <div class="splash">
        <div class="wrapper">
          <nav class="kochalka" style="">
            <ul>
                <li class="navclass first active"><a href="http://glorkianwarrior.com/" title="Home">Home</a></li>
                <li class="navclass"><a href="news/" title="News">News</a></li>
                <li class="navclass"><a href="gallery.html" title="Gallery">Gallery</a></li>
                <li class="navclass last"><a href="guide.html" title="Guide">Guide</a></li>
            </ul>
          </nav>
    </div>
    
      </div></header>
    

    也添加以下样式,然后它会按照你的意愿工作

    <style>
    .wrapper {
     width: 100%;
     display: inline-block;
     position: relative;
    
    }
    .wrapper:after {
        padding-top: 56.25%; /*16:9 ratio*/
        display: block;
        content: '';
    }
    </style>
    

    【讨论】:

      猜你喜欢
      • 2020-04-08
      • 2019-10-21
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-17
      • 1970-01-01
      相关资源
      最近更新 更多