如何在MDL中为较小的屏幕创建标题可滚动?

时间:2015-07-08 21:35:31

标签: html css material-design-lite

使用MDL 1.0(http://www.getmdl.io/)我试图在更大和更高的位置上滚动标题。小屏幕。但它只能在更大的屏幕上滚动(比如在我的电脑上),但不能在较小的屏幕上滚动。

这是html:

<html>
<head>
	<link rel="stylesheet" href="https://storage.googleapis.com/code.getmdl.io/1.0.0/material.teal-light_green.min.css" />
	<script src="https://storage.googleapis.com/code.getmdl.io/1.0.0/material.min.js"></script>
	<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
</head>
<body>
<!-- Simple header with scrollable tabs. -->
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
  <header class="mdl-layout__header mdl-layout__header--scroll">
    <div class="mdl-layout__header-row">
      <!-- Title -->
      <span class="mdl-layout-title">Title</span>
    </div>
    <!-- Tabs -->
    <div class="mdl-layout__tab-bar mdl-js-ripple-effect">
      <a href="#scroll-tab-1" class="mdl-layout__tab is-active">Tab 1</a>
      <a href="#scroll-tab-2" class="mdl-layout__tab">Tab 2</a>
      <a href="#scroll-tab-3" class="mdl-layout__tab">Tab 3</a>
      <a href="#scroll-tab-4" class="mdl-layout__tab">Tab 4</a>
      <a href="#scroll-tab-5" class="mdl-layout__tab">Tab 5</a>
      <a href="#scroll-tab-6" class="mdl-layout__tab">Tab 6</a>
    </div>
  </header>
  <div class="mdl-layout__drawer">
    <span class="mdl-layout-title">Title</span>
  </div>
  <main class="mdl-layout__content">
    <section class="mdl-layout__tab-panel is-active" id="scroll-tab-1">
      <div class="page-content"><br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!<br />New line!</div>
    </section>
    <section class="mdl-layout__tab-panel" id="scroll-tab-2">
      <div class="page-content"><!-- Your content goes here --></div>
    </section>
    <section class="mdl-layout__tab-panel" id="scroll-tab-3">
      <div class="page-content"><!-- Your content goes here --></div>
    </section>
    <section class="mdl-layout__tab-panel" id="scroll-tab-4">
      <div class="page-content"><!-- Your content goes here --></div>
    </section>
    <section class="mdl-layout__tab-panel" id="scroll-tab-5">
      <div class="page-content"><!-- Your content goes here --></div>
    </section>
    <section class="mdl-layout__tab-panel" id="scroll-tab-6">
      <div class="page-content"><!-- Your content goes here --></div>
    </section>
  </main>
</div>
</body>
</html>

如您所见,标题是可滚动的,但仅适用于较大的屏幕(如在PC上)。但是如果你让窗口变小,或者只是在较小的屏幕上运行它,那么标题是固定的而不是可滚动的。 此外,如果我从外部div(主div)中删除mdl-layout--fixed-header,则标题会在较小的屏幕上消失。

知道如何在更大和更小的屏幕上滚动标题吗?

4 个答案:

答案 0 :(得分:8)

我有同样的问题,我通过添加&#34; flex-shrink:0;&#34;解决了这个问题。到.mdl-layout__content

答案 1 :(得分:2)

我在MDL Wordpress主题上遇到了同样的问题。我通过添加以下CSS获得标题以在小屏幕尺寸上滚动页面的其余部分:

@media screen and (max-width: 850px) {
    .mdl-layout__container {
         position: static;
    }
}

使用此方法可以在滚动时将移动设备上的Chrome网址栏推离屏幕(这是我的主要目标)。

我还使用此CSS在小屏幕上的页面顶部显示标题:

@media screen and (max-width: 850px) {
    .mdl-layout__header {
        display: block;
    }
}

答案 2 :(得分:1)

作为Devleshes帖子的后续内容,用以下内容替换mdl-layout__content的高度将阻止双滚动条。

以下代码片段为我解决了这个问题:

.mdl-layout__content {
  flex-shrink: 0;
}

.mdl-layout__drawer.is-visible~.mdl-layout__content {
  height: calc(100vh - 50px);
}

(其中50px是我的mdl-layout__header的高度)

答案 3 :(得分:0)

确保您设置了元视口标记:

<meta name="viewport" content="width=device-width">

如果这不起作用,那么我们可能在移动设备上没有可滚动的标题。由于固定类设置布局以使其保持在顶部。如果视口没有修复它,请为此提出问题,核心团队可以进一步分类。