html - 为什么我的页眉颜色会改变?

标签 html css

**CSS**

@charset "utf-8";
@import 'https://fonts.googleapis.com/css?family=Alegreya+Sans';
/* CSS Document */
*{
	margin: 0;
	padding: 0;
	border: 0;
}
body{
	background: #EFEFEF;
	color: black;
	font-family: Cambria, Hoefler Text, Liberation Serif, Times, Times New Roman, serif;
	margin: 0;
}
header{
	width: 100%;
	background: rgba(10,37,195,0.76);
	height: 50px;
}
#header-inner{
	max-width: 1200px;
	margin: 0 auto;
}
nav{
	float: right;
	padding: 10px 0;
}
#menu-icon{
	height: 40px;
	width: 40px;
	display: hidden;
	background: url(../img/NAV.png) no-repeat center;
}
ul{
	list-style-type: none;
}
nav ul li{
	font-family: 'Alegreya Sans', sans-serif;
    font-size: 150%;
    display:inline-block;
    float: left;
    padding: 10px;
}
nav ul li a{
	text-decoration: none;
	color:aliceblue;
}
nav ul li a:hover{
	color: rgba(208,208,208,0.90);
}
/*---end navbar---*/

#banner{
	width: 100%;
	height: 200px;
}
#banner-inner{
	width: 100%;
	height: 50vw;
}
/*------media----*/

@media screen and (max-width: 768px){
    header{
        position: absolute;
    }
    #logo{
        margin: 15px 0 20px -25px;
        background: url(img/RD_mobile.png) no-repeat center;
    }
    #menu-icon{
        display: inline-block;
    }
    nav ul, nav:active ul{
        display: none;
        z-index: 1000;
        position: absolute;
        padding: 20px;
        background: #6991AC;
        right: 50px;
        top: 60px;
        border: 1px solid #FFF;
        border-radius: 10px 0 10px 10px;
        width: 50%;
    }
    nav:hover ul{
        display: block;
    }
    nav li{
        text-align: center;
        width: 100%;
        padding: 10px 0;
	}
}
**HTML**
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style/homecss.css">
</head>
<body>
 <header>
        <div id="hearder-inner">
           <a href="home.html" id="logo"></a>
            <nav>
                <a href="#" id="menu-icon"></a>
                <ul>
                    <li><a href="home.html" class="current">Home</a></li>
                    <li><a href="#" >About</a></li>
					<li><a href="#" >Gallery</a></li>
                </ul>
            </nav>
        </div>
    </header>
<!---ending header-->
<section id="banner">
	<img id="banner-img" src="img/20140505211825_YY8Un.jpeg">
</section>
</body>
</html> 

一旦我在 css 上添加媒体,只要标题满足媒体的条件,它的颜色就会变暗。我不明白。我只在标题上添加了一种颜色,为什么随着导航栏变小它会变成第二种颜色?

最佳答案

标题本身的颜色不会改变。所发生的变化是它以前占用空间并因此将图像向下推,但是,您将标题定位为最大宽度为 768px 的绝对元素。这意味着 header 已脱离正常文档流。现在图像没有被下推,而是标题与图像重叠。

由于标题的背景 alpha 值小于 100(背景:rgba(10,37,195,0.76);)因此只有 76% 的不透明度,标题下方元素的背景颜色的任何变化都会影响标题的感知颜色。我猜图像比标题暗,因此标题看起来变得更暗。

您可以通过在 1 处定义带有 alpha channel 的标题背景(例如 rgb(10, 37, 195);)来解决此问题 - 考虑到您的 body 背景几乎是白色的,并且标题宽度仅超过 768px与恒定的“#efefef”值混合,很容易确定适合您的颜色。或者您可以通过不将 header 从正常文档流中取出(不使用绝对位置)或通过将填充/边距顶部添加到图像容器和(大概)文档的其余部分具有与标题的高度(例如 100px,如果这是标题的高度)。显然,只为最大 768px 的屏幕宽度添加它。

关于html - 为什么我的页眉颜色会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44620239/

相关文章:

javascript - 如何在每个设备中正确显示相同的星号?

html - 我无法更改网站主页的字体大小和字体样式

javascript - 为什么我的背景图片隐藏了我的键码生成器?

javascript清除复选框上的输入表单值取消选中

html - 3 列响应式(更改列顺序)

javascript - 如何测试跨平台应用程序

css - 样式文本框文本

html - 当我使用 "height:100vh"时,主体上方有空白

javascript - Flickity 轮播图片未完全加载

javascript - 滚动条因背景图片而消失