首页  >  问答  >  正文

对元素应用position: fixed会破坏由display: flex控制的内容的对齐方式。

<p>我需要。word和。line元素被固定到视窗的顶部时,页面被滚动-在他们最初的位置,即行是低于单词。<br /><br />我设法修复了。word与position: sticky,但面临两个问题:<br /></p><p><code></code><code></code></p> 当我将sticky应用于。line时,它会“跳到”单词上方,我不知道如何将其固定在视口的顶部,但强制它保持在。word元素下方<br />粘性最初不是正确的值-当你开始滚动时,它会“摇动”文本。正确的值是固定的-它工作得很好,我宁愿宁愿使用它!然而,它打破了。warning类(红色字体)的位置:它应该在。transcription文本的对面(水平),但是固定值将这两个类的文本折叠在一起。<br /><p><br /></p><p>这里也是JS Bin与这种“情况”。</p><ol> </ol> <p><br /></p> <pre class="brush:css;toolbar:false;">.word { position: sticky; top: 0; z-index: 1; background-color: white; } .word { padding: 1vw 3vw 2% 3vw; } .word-details { display: flex; justify-content: space-between; align-items: baseline; } .transcription { font-weight: normal; } .warning { color: red; margin-left: auto; } .line { border-top: 2px solid #fdb239; } .meaning { list-style-type: none; counter-reset: item; hyphens: auto; font-size: calc(0.7em + 1.5vw); } .meaning > li { position: relative; } .meaning > li::before { content: counter(item); counter-increment: item; position: absolute; top: 0; text-align: center; margin-left: calc(-0.7em - 2.5vw); } .meaning-word { margin-top: 50px; } .sentences { list-style-type: none; padding-left: 0; font-size: calc(0.7em + 1.5vw); margin-top: 30px; } .sentences > li.sentence-ru { margin-top: 15px; }</pre> <pre class="brush:html;toolbar:false;"><!DOCTYPE html> <html> <body> <div class="word"> <span>Word</span> <div class="word-details"> <div class="transcription">/ transcription /</div>
COMMENT
;
<hr class="line"> <ol class="含义">
  • 含义1