2012-08-14 67 views
0

所以我有一个关于HTML和CSS的新手问题。我刚开始使用Twitter的引导框架,并有这段代码在我的index.html文件的头:在HTML文档中声明CSS,追加或覆盖?

<link href="css/bootstrap.css" rel="stylesheet"> 
<link href="css/style.css" rel="stylesheet"> <!-- Custom CSS Overwrite--> 
<style type="text/css"> 
    html{overflow-y:scroll;} <!-- Fixes "page shift" issue --> 
</style> 

的bootstrap.css文件定义了这一点,就像这样:

html { 
    font-size: 100%; 
    -webkit-text-size-adjust: 100%; 
    -ms-text-size-adjust: 100%; 
} 

不我在html文件中声明的CSS覆盖或附加html{}的CSS?我希望这会被追加,因为覆盖可能会让事情陷入困境。

我不只编辑bootstrap.css文件的原因是因为我认为不编辑bootstrap.css文件是很好的做法,以便将来的升级尽可能顺利。

顺便说一句,如果有人想知道overflow-y:scroll是什么,因为它是一直在浏览器中包含垂直滚动条,无论是否有可滚动的材质。修复了可怕的“换页”问题,这是迄今为止我能找到的最简单的解决方案。

+0

由于CSS的级联特性,这将覆盖引导CSS中的规则(如果声明)。但只有溢出规则,没有别的:) – Kyle 2012-08-14 10:52:53

回答

2

它会追加它。 (除非Bootstrap已经改变了html元素的overflow-y属性。)

这几乎总是发生在CSS中。

所以这个:

.foo { 
    background-color: red; 
} 
.foo { 
    color: green; 
} 

是一样的:

.foo { 
    background-color: red; 
    color: green; 
} 

它并不适用的唯一情况是,当你改变了相同的值,因为在CSS,你不能在属性上有多个值。


我不知道,如果引导有overflow-y属性添加到<html>元素。如果它确实是你的页面转换问题,css会覆盖它。如果没有,那么它将被“附加”。

+0

太棒了,这正是我一直在寻找的,谢谢! Bootstrap在元素中没有overflow-y属性:) – Othe12sid3 2012-08-14 12:20:39