设置新的块编辑器对齐完整类的样式,没有滚动条或溢出

时间:2019-01-16 作者:Trevor

使用WP 5.0,您现在可以在编辑器中启用全宽块,方法是将其添加到主题中:add_theme_support( \'align-wide\' );

但是,如果您使用的是自定义主题,则必须添加自己的CSS才能使其正常工作,如本文所述Gutenberg issue. 有很多例子都是可行的,但对于任何不在Mac上的人来说,它们都存在滚动条问题。

问题是如果您使用width: 100vw, 这是我发现的最好的方法,在Windows设备上,只要页面上有一个垂直滚动条,就可以得到一个水平滚动条。我知道这实际上是根据视口宽度规范进行的,所以我真的希望找到另一种方法来真正实现这一点all 设备。

我现在可以启用全宽的CSS:

.entry-content .alignfull {
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}
body .entry-content .alignfull > * {
    width: 100vw;
    max-width: none;
}
然后我添加一个overflow: hidden; 在我的外部容器上<div> 任何包装的the_content() 以隐藏滚动条。但我要寻找的是一种解决方案,它不依赖于可能导致各种意外后果的隐藏溢出。有什么想法吗?

2 个回复
最合适的回答,由SO网友:NickFMC 整理而成

在我对水平滚动条的问题感到头疼之后,我想换一种方式,在没有alignfull类的情况下为块添加一个最大宽度。如果您只是删除页面模板包装器,并假设它是100%。这是一支尽可能模拟WP标记的笔https://codepen.io/nickfmc/pen/vvbWQa

.editor-content > *:not(.alignfull) {
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.editor-content > *:not(.alignfull).alignwide {
  max-width: 1400px;
}

SO网友:Trevor

事实上,只需几句简单的话就可以解决这个问题,而且它比我见过或尝试过的任何其他方法产生的意外后果都要少得多。这基本上就是二十世纪二十年代主题所做的,尽管它们确实包括overflow: hidden -- 但这并不是阻止水平滚动条的必要条件。

.entry-content .fullwidth {
  max-width: 100vw;
  position: relative;
  width: 100%; 
}
Windows中没有水平滚动条解决了此问题。