Bac*_*b32 1 html css overlay reactjs
我的网站是基于React和react-strap。好吧,我有我的.header-overlay
覆盖整个背景.header
。但这里发生的情况是,由于.navbar
,垂直.header-overlay
伸出.header
。
我认为使用calc(100vh - heightOfNavigationBar)
可以解决这个问题。但是,我找不到任何方法来.navbar
动态获取高度。有什么办法可以解决这个问题吗?(导航栏嵌入在react-strap中)
CSS代码:
.navbar{
font-size: 20px;
}
.header {
background: url("../images/headerbg.jpg") no-repeat 50% 50% fixed ;
background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
-webkit-background-size: cover;
height: 100vh;
}
.header-overlay {
background-color: rgba(31, 31, 31, 0.4);
height: 100vh;
}
Run Code Online (Sandbox Code Playgroud)
HTML 代码:
<header className="header">
{/*Navigation Bar*/}
<div>
<NavBar/> <--from react-strap
</div>
<div className="header-overlay">
SOME CODE HERE
<div>
</header>
Run Code Online (Sandbox Code Playgroud)
这真的很简单
将“导航栏”ID 添加到您的导航中
使用JS设置属性值:
document.documentElement.style.setProperty('--nav-height', document.getElementById("navbar").offsetHeight);
Run Code Online (Sandbox Code Playgroud)
在 CSS 中使用属性:
例子:
:root {
--nav-height: 70px; /*You HAVE To Give A Default Fallback Value*/
}
.container-fs{
width: 100vw;
height: calc(100vh - var(--nav-height));
}
Run Code Online (Sandbox Code Playgroud)
它是如何工作的?
document.getElementById("navbar").offsetHeight
Run Code Online (Sandbox Code Playgroud)
此代码使用 ID 选择导航栏并获取导航栏的高度
document.documentElement.style.setProperty();
Run Code Online (Sandbox Code Playgroud)
此代码将 CSS 属性(又名变量)设置为导航的高度。
var(--nav-height)
Run Code Online (Sandbox Code Playgroud)
此 CSS 函数返回属性的值(导航栏的高度)
归档时间: |
|
查看次数: |
5768 次 |
最近记录: |