html - 像 div 行为一样降低高度,而不会弄乱子元素的布局

标签 html css web responsive

我有一个父 div,它有一个固定位置,还有一个子 div,它有一个固定位置(可以更改)并且里面有文本。此子文本以父 div 为中心。

我想通过更改一些 CSS 来创建一种行为,当父 div“高度”减小时,带有文本的子 div 保持相同的位置,如果父 div 没有覆盖它则不会显示。

下面的代码片段显示了我当前的布局。

#parent {
  position:fixed;
  background:red;
  width:100vw;
  height:100vh;
}

#child { 
  color:black;
  font-family:Arial;
  position:fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%,-50%);
}
<div id="parent">
  <div id="child">
    <h1>
      TEST
    </h1>
  </div>
</div>

我希望通过更改一些 CSS 来实现的是这样的:

http://prntscr.com/bjin61

比如当魔法值在 50% 左右时,它应该只显示黄色边框中突出显示的区域,文本被截掉(这很重要)。

最佳答案

您需要以绝对单位明确设置子位置,而不是父位置的百分比。如果将位置设置为 fixed,child 将完全独立于 parent,因此它需要是 absolute。最后,为父级 overflow hidden 元素。

#parent {
  position:fixed;
  background:red;
  width:100vw;
  height:47vh;
  overflow: hidden;

}

#child { 
  background: yellow;
  color:black;
  font-family:Arial;
  position:absolute;
  top: 50vh;
  left: 50vw;
  transform: translate(-50%,-50%);
}
<div id="parent">
  <div id="child">
    <h1>
      TEST
    </h1>
  </div>
</div>

关于html - 像 div 行为一样降低高度,而不会弄乱子元素的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37966561/

相关文章:

php - Sublime Text : in HTML links having PHP snippets, 符号突出显示红色?

jquery - 使用 JQuery Mobile 的面板中的页眉

java - 配置更改无需重新部署

css - 为什么背景色为 : '#ff0000' ; is an "invalid property value"?

javascript - WEB:从浏览器启动可执行文件

actionscript-3 - Flash 站点架构 - 一个 swf 还是多个?

javascript - 出现错误时将输入字段更改为不同的颜色

html - 如果溢出则更改单元格值

php - 无法将 + 符号传递给 php 页面进行处理

html - 表格单元格的 CSS 选择器,在前一个单元格中检查了输入