Html 2017年的纯CSS3解决方案是什么,它有一个固定的标题和一篇性能良好的文章?

Html 2017年的纯CSS3解决方案是什么,它有一个固定的标题和一篇性能良好的文章?,html,css,Html,Css,使标题{position:fixed}在基本 <header></header> <article></article> <footer></footer> 或者在这里(@James在评论中) 问题:在2017年,是否有一个不复制标题的纯CSS(无JS)解决方案可以避免这种解决方法? 我提出了这个flex解决方案,但它并不完美,因此无法克服上述解决方法(从用户角度来看,这是完美的): 实验室 /*重置*/ 身体{ 填

使标题{position:fixed}在基本

<header></header>
<article></article>
<footer></footer>

或者在这里(@James在评论中)

问题:在2017年,是否有一个不复制标题的纯CSS(无JS)解决方案可以避免这种解决方法?

我提出了这个flex解决方案,但它并不完美,因此无法克服上述解决方法(从用户角度来看,这是完美的):


实验室
/*重置*/
身体{
填充:0;
保证金:0;
}
身体{
显示器:flex;
弯曲方向:立柱;
}
文章{
显示器:flex;
弹性:1;
溢出:自动;
}
标题文本
可滚动文本
页脚内容
这里的问题是,滚动条不会超过整个浏览器窗口的高度,而只是沿着文章的高度


我还考虑过使用CSS3 calc(),但我们无法测量页眉的高度,并将其用作文章css中的边距。

是的,您可以使用粘性定位。这将使页眉保持在页面顶部,并允许其大小影响页面的流动:

header {
    top: 0;
    position: sticky;
}
但是,它还没有强大的浏览器支持:
是的,您可以使用粘性定位。这将使页眉保持在页面顶部,并允许其大小影响页面的流动:

header {
    top: 0;
    position: sticky;
}
但是,它还没有强大的浏览器支持:

通过设置固定位置,可以轻松完成此操作。看看CSS:

.ccsticky-nav {
  width: 100%;
  height: 60px; 
  position: fixed; 
  top: 0;
  background: #139ed8;
}

有关更多详细信息,请参见此处的文章和演示

通过设置固定位置,可以轻松完成。看看CSS:

.ccsticky-nav {
  width: 100%;
  height: 60px; 
  position: fixed; 
  top: 0;
  background: #139ed8;
}

有关更多详细信息,请参见此处的文章和演示

滚动条未超过整个浏览器窗口高度有什么问题?您可以使标记可滚动。或者你可以在你所有的东西里面创建一个可滚动的div。至少在WIndows下的浏览器上,滚动条矩形看起来很难看。苹果浏览器有一个更体面的滚动条可视化——在那里它不会造成太大伤害。这是一个好问题。我认为使用CSS是不可能的。由于您要从文档的上下文中删除标题,在不知道标题的确切高度的情况下,无法调整文章的位置。@Jackson-Yepp,我相信正如您所说的。滚动条没有超过整个浏览器窗口的高度有什么错?您可以使标记可滚动。或者你可以在你所有的东西里面创建一个可滚动的div。至少在WIndows下的浏览器上,滚动条矩形看起来很难看。苹果浏览器有一个更体面的滚动条可视化——在那里它不会造成太大伤害。这是一个好问题。我认为使用CSS是不可能的。由于您要从文档的上下文中删除标题,因此在不知道标题的确切高度的情况下,无法调整文章的位置。@Jackson-Yepp,我相信正如您所说的。很酷,很有趣的想法,必须尝试一下。就我个人而言,浏览器对sticky的支持相当不错,还有一些PolyFill没有原生的那么平滑,但足以让这些浏览器中的页面至少可见。thx但是你的回答忽略了问题的核心:“还有一篇行为良好的文章在背后”。酷,有趣的想法,必须尝试一下。就我的口味而言,浏览器对sticky的支持相当不错,有一些多边形填充没有原生的平滑,但足以使此类浏览器中的页面至少可见。thx但您的回答忽略了问题的核心:“以及它后面的一篇行为良好的文章”。您假设页眉的高度为60px。我假设页眉不断变化的高度会根据其内容进行调整,而不是固定的。假设页眉的高度是固定的,60px。我假设标题不断变化的高度会根据其内容进行调整,而不是固定的。