- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道如何在具有渐变背景(具有可滚动内容)的主体上设置固定标题。我不想为页眉设置背景颜色,因为它会扰乱页面外观,因为我希望主体的背景以全尺寸显示。
我在 body 标签上使用渐变背景,像这样:
body {
background:radial-gradient(ellipse at center, rgba(89,72,97,1) 0%, rgba(57,46,63,1) 100%);
}
我有一个粘性标题:
.header {
line-height: 45px;
overflow: hidden;
position: fixed;
top: 0;
width: 100%;
z-index: 1000;
}
还有可滚动的内容:
.content-wrapper {
height: 100%;
text-align: center;
width: 100%;
}
.content-wrapper .content-wrapper-inner {
height: 100%;
overflow: auto;
}
我知道我可以为 .content-wrapper
设置 padding-top
但它在 iOS 中以不同方向等方式查看时表现不佳。另外我想避免 position:fixed
因为它在 iOS 的 Safari 中也不能正常运行。当您尝试滚动整个页面时,正文的背景会被拖动,但页眉会保留在原位,背景颜色为空白。
抱歉没有 Jsfiddle/Codepen 因为我无法设置径向渐变背景。
最佳答案
如果您尝试将内容放在 header 下方,而 header 是固定
,那么您可以尝试以下解决方案之一:
<强>1。偏移内容
添加一个 margin-top
到等于标题高度 (45px) 的内容:
.content-wrapper {
⋮
margin-top: 45px;
}
jsFiddle:https://jsfiddle.net/azizn/xj8qg5mj/
* 这也适用于 padding、position-top 等
<强>2。让header继承body背景
.header {
⋮
background: inherit;
background-attachment: fixed;
}
jsFiddle:https://jsfiddle.net/azizn/ga7ndq8c/
fixed
background-attachment 确保渐变不会停止在标题的高度,而是表现得好像设置在主体上一样,查看区别:
更新:由于您需要在 Android 上支持 Chrome,因此您可以使用替代方法: header 的伪元素 (::before
) 获取背景并且高度等于 100%视口(viewport)(100vh
)
.header {
⋮
background: inherit;
}
.header::before {
content: '';
display: block;
position: absolute;
top: 0; left: 0; right: 0; bottom: 0;
background: inherit;
height: 100vh;
z-index:-1;
}
jsFiddle:https://jsfiddle.net/azizn/ejg6sdmw/
<强>3。摆脱固定位置
如果您将标题保持在静态位置并让内容包装器在其内容滚动时填充剩余的视口(viewport)空间,您可能会获得相同的结果:
html, body {
margin: 0; padding: 0;
height: 100%; color: #FFF;
}
body {
background: radial-gradient(ellipse at center, rgba(89, 72, 97, 1) 0%, rgba(57, 46, 63, 1) 100%);
text-align: center;
}
.header { line-height: 45px; }
.content-wrapper { height: calc(100% - 45px); }
.content-wrapper .content-wrapper-inner { height: 100%; overflow: auto; }
.long {
border: 1px dashed #CCC;
padding: 1em;
margin: 1em;
min-height: 600px;
}
<div class="header">header</div>
<div class="content-wrapper">
<div class="content-wrapper-inner">
<div class="long">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusantium nemo repudiandae alias iure minima officiis eligendi minus dignissimos. Dolore eos, assumenda voluptatibus quidem sequi architecto suscipit. Doloremque, illo modi totam.</p>
<p>Laborum reprehenderit deserunt tempora et minima animi atque libero aliquam, nesciunt perferendis omnis ipsam nostrum impedit quia neque adipisci amet quis corporis assumenda! Eveniet fugit quo pariatur officia et totam.</p>
</div>
</div>
</div>
这似乎是最简单直接的解决方案。
jsFiddle:https://jsfiddle.net/azizn/uwuL51zg/
关于css - 固定标题在渐变体上(移动网页),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37160552/
程序集,masm 嘿,我写了宏来打印存储在 dane1 段中的 1 字节值。 我将值除以 16,然后将提醒推送到堆栈,直到值==0。然后我弹出提醒将它们转换为 ASCII 码,并打印它们。 有人可以看
我在 Apache Geronimo 2.1.3 上有一个 Web 服务应用程序。 我正在使用 JAX-WS,使用 SOAP 1.1 注释 POJOS。 (使用 Sun JDK 1.5) 各种客户端都
我有一个数据变量,monthArray,它被多个消费者读取,并由单个定期更新程序线程定期更新数据。全部异步。 我已经考虑了这两个选项来安全地执行更新。 ArrayList tempArray
我有一组 3D 体。每个 Body 由 8 个点定义,每个点具有三个坐标。所有的物体都是立方体的或近似立方体的。我想用系统的点栅格“填充”立方体。坐标存储在简单的 data.frames 中。 我开发
我正在处理遗留代码,需要打补丁。 问题:一个古老的应用程序发送错误的 HTTP POST 请求。其中一个参数未经过 URL 编码。我知道这个参数总是排在最后而且我知道它的名字。我现在正尝试在运行在 t
我想在触摸屏幕时移动 sprite body ,但它不能发生...... -(void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event
这个问题在这里已经有了答案: Can a union be initialized in the declaration? (3 个答案) 关闭 7 年前。 如果它是一个struct那么它就可以完成
我正在尝试获取生成 sigsys 信号的系统调用的地址!但我从 gcc 收到以下错误: gcc emulator.c -fms-extensions error: ‘siginfo_t’ has no
当我使用 Postman 进行 API 调用时,我收到一个 JSON 对象..这是我所期望的。 但是,当我像这样与 Guzzle 进行相同的调用时: $client = new \GuzzleHttp
在编码时,出现了差异。通常在编写简单的方法或构造函数时,我经常使用表达式体技术。但是,当我产生以下内容时: public class Sample : ISample { private r
我正在使用 LibGDX 创建一个新项目。 我想做的是,我将 tmx 文件中的主体加载到工作正常的关卡中。尸体也有一个 Sprite 。 问题是,我想让用户触摸场景中的某些 body 。当他们触摸 b
我的意图:在不使用 union 的情况下循环遍历一个结构的 30 个成员,所有成员都是字符数组类型,每个成员都存储对 itoa 的调用结果。在下面的代码中,我将结构体成员命名为a-z、A-D。在调用函
我必须将我的代码段之一从 C 转换为 java。代码如下。 union commandString{ char commndStr[20]; struct{ char
#include union NumericType { float value; int intvalue; }Values; int main() { Values.va
我在此代码中收到错误: fun num(num:Int):Int { if (num > 0){ print(num % 10) return num / 10
我是一名优秀的程序员,十分优秀!