如何让图标在 MDL header 上向左移动?

How to make icon move to the left on MDL header?

我尝试设置边距,填充以将 back-arrow 图标移动到 header 的左侧,但失败了。我该如何纠正?

<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
 <header class="mdl-layout__header">
  <div class="mdl-layout__header-row">
      <!--back arrow-->
      <button class="mdl-button mdl-js-button mdl-button--icon" onclick="history.go(-1);">
       <i class="material-icons">arrow_back</i>
      </button>

     <!--Title-->
     <span class="mdl-layout-title">Settings</span>
  </div>

 <!-- Tabs -->
 <div class="mdl-layout__tab-bar mdl-js-ripple-effect">
  <a href="{{pathFor route='home'}}" class="mdl-layout__tab">Profile</a>
  <a href="{{pathFor route='settings'}}" class="mdl-layout__tab">Account</a>
</div>

您是说要将后退箭头图标移到 header 的左侧?

像这样?

<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
 <header class="mdl-layout__header">
       <button class="mdl-button mdl-js-button mdl-button--icon" onclick="history.go(-1);">
       <i class="material-icons">arrow_back</i>
      </button>
  <div class="mdl-layout__header-row">
      <!--back arrow-->


     <!--Title-->
     <span class="mdl-layout-title">Settings</span>
  </div>

 <!-- Tabs -->
 <div class="mdl-layout__tab-bar mdl-js-ripple-effect">
  <a href="{{pathFor route='home'}}" class="mdl-layout__tab">Profile</a>
  <a href="{{pathFor route='settings'}}" class="mdl-layout__tab">Account</a>
</div>

如果图标在 class "mdl-layout__header-row" ,

设置margin,padding不能移动后退箭头图标。

你按Ctrl+Shift+I就知道了

您可以将后退箭头按钮移至 "mdl-layout__header-row" 左侧

在class中设置图标按钮"mdl-layout__header"。

希望对你有帮助:)

<div class="mdl-layout__header-row" style="padding-left: 2%;">
    <!--back arrow-->
    <i class="material-icons" style="margin-right: 5%">arrow_back</i>    
    <!--Title-->
    <span class="mdl-layout-title">Settings</span>
</div>

试试这个,我遇到了同样的问题并提出了这个解决方法。

我在使用后退按钮时遇到了同样的问题。文档中没有可视化演示,但阅读文档后我找到了正确的方法:只需在按钮上放置 class mdl-layout-icon

<header class="mdl-layout__header">
  <button class="mdl-layout-icon mdl-button mdl-js-button mdl-button--icon" onclick="history.go(-1);">
    <i class="material-icons">arrow_back</i>
  </button>    
  <div class="mdl-layout__header-row">
    <span class="mdl-layout-title">Some title</span>
    <div class="mdl-layout-spacer"></div>
  </div>
</header>

尝试像这样使用 class 'mdl-layout__drawer-button':

<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
  <header class="mdl-layout__header">
    <div class="mdl-layout__drawer-button"><i class="material-icons">arrow_back</i></div>
    <div class="mdl-layout__header-row">
      <span class="mdl-layout-title">Title</span>
    </div>
  </header>
  <main class="mdl-layout__content">
    <div class="page-content">
       Content
    </div>
  </main>
</div>

anneb 的解决方案对我有用,但如果没有 onclick,它就不完整。

这是完整的解决方案。

了解 class="mdl-layout__drawer-button"history.back() 即可解决问题。

添加这一行

<div class="mdl-layout__drawer-button" onclick="history.back()"><i class="material-icons">arrow_back</i></div>

低于 mdl-layout__header 和高于 mdl-layout__header-row

<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
  <header class="mdl-layout__header">
    <div class="mdl-layout__drawer-button" onclick="history.back()"><i class="material-icons">arrow_back</i></div>
    <div class="mdl-layout__header-row">
      <span class="mdl-layout-title">Title</span>
    </div>
  </header>
  <main class="mdl-layout__content">
    <div class="page-content">
       Content
    </div>
  </main>
</div>

anneb 的解决方案对我有用。但是,为了使其适用于所有屏幕尺寸,我必须编写一些自定义 CSS(尽管这可能是我的情况所特有的)。我定义了我自己的 .mdl-layout__back-button class 如下:

.mdl-layout--fixed-drawer .mdl-layout__back-button {
  @extend .mdl-layout__drawer-button;

  margin-left: 240px;

  & + .mdl-layout__header-row {
    padding-left: 72px;
  }
}

即使在大屏幕上也能显示后退按钮,在这种情况下您没有其他方法可以将用户引导至上一页,并且您不想仅仅依靠他们点击浏览器的后退按钮。