在HTML文档中声明CSS,追加或覆盖?

时间:2012-08-14 10:50:57

标签: html css

所以我有一个关于HTML和CSS的新手问题。我刚刚开始使用Twitter的Bootstrap框架,并在我的index.html文件的头部有这些代码:

<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是否会覆盖或附加CSS的html{}?我希望它可以附加,因为覆盖可能会使事情变得紧张。

我不仅仅编辑bootstrap.css文件的原因是因为我读到了不编辑bootstrap.css文件的好习惯,以便将来的升级尽可能顺利。

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

1 个答案:

答案 0 :(得分:2)

它会附加它。 (除非Bootstrap更改了html元素的overflow-y属性。)

这几乎总是发生在CSS中。

所以这个:

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

与:

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

唯一不适用的是更改相同值时,因为在CSS中,属性上不能有多个值。


我不知道Bootstrap是否在overflow-y元素上添加了<html>属性。如果你的页面转移问题css将覆盖它。如果没有,那么它将被“附加”。