2017-02-15 42 views
0

我正在创建登录表单,但无法使BG颜色以我想要的方式工作。如何在CSS中隔离页面和div背景颜色?

我希望页面具有蓝绿色的整体背景颜色(#00CEB9)。我创建了一个具有不同背景的表单(让我们只是用红色表示演示),但深青色仍然显示在框内。

image with polluted BG

我想框有100%的红色背景是这样的(同时保持蓝绿色背景上的页面的其余部分):

image with isolated BG

<div class="login-container"> 
    <form> 
    <label for="login">Login</label> 
    <input type="text" id="login"> 
    <label for="password">Password</label> 
    <input type="text" id="password"> 
    </form> 
</div> 

CSS

html *{ 
    background-color: #00CEB9; 
} 

.login-container { 
    margin: 8px auto; 
    border: 3px solid #f1f1f1; 
    padding: 8px; 
    border-radius: 4px; 
    width: 30%; 
    text-align: center; 
    background-color: red; 
} 

如何保持我的页面背景nd颜色,并有一个自己的背景颜色的形式框没有让他们互相污染?

回答

1

尝试从改变你的CSS:

html *{ 
    background-color: #00CEB9; 
} 

html, body { 
    background-color: #00CEB9; 
} 

通过它应用到html *你把它应用到没有已分配背景颜色的所有元素。

有关如何深入了解CSS选择器的更多信息,请参阅CSS Selectors Reference

0

问题出在你的css文件上。基本上,由于*,所以将所有html元素分配为背景颜色:深蓝色。

更改CSS来:

html { 
    background-color: #00CEB9; 
} 
1

html *意味着html元素中的每一个元素,而这不正是正是你所期待的。

您可以使用

html, body { 
    background-color: #00CEB9; 
} 

相反

1

删除*从代码中CSS的第一行。 *正在做的是它使所有东西#00CEB9的背景颜色。这就是为什么你要查看窗体和每个文本框的背景颜色为#00CEB9。我希望这可以帮助