为什么标题的颜色会改变?

时间:2017-06-18 22:45:51

标签: 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上添加媒体,每当标题符合媒体条件时,其颜色将变为更暗。我不明白。我只在标题上添加一种颜色,为什么当导航栏变小时它会变为第二种颜色?

1 个答案:

答案 0 :(得分:1)

标题本身的颜色不会改变。它先前占用了空间并因此向下推动了图像,但是,您将标题定位为宽度最大为768px的绝对元素。这意味着标题从正常文档流中取出。现在图像没有被按下,而是标题与图像重叠。

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

您可以通过将alpha通道定义为1的标题背景来修复此问题(例如rgb(10,37,195);) - 考虑到您的身体背景几乎为白色,宽度超过768px的标题混合了那个常数&#34;#efefef&#34;价值,很容易确定一种适合你的颜色。或者您可以通过不将标题从正常文档流中取出(通过不使用绝对位置)或通过向图像的容器添加填充/边距顶部来解决它,并且(可能)将文档的其余部分添加到与文档相同的值标题的高度(例如100px,如果它是标题的高度)。显然,只需将屏幕宽度添加到768px。