我想改变一些受父元素引导类影响的元素的风格 - 我把样式表的链接放在bootstrap的下面 - 我甚至将.css文件移到了html的文件夹之外,因为它在类似的主题中被广告但它仍然不起作用 (如果我把内部风格的代码放在它的工作中)
现在我只是想从列表中删除样式
请注意:从代码段中运行此代码会向您显示没有问题,但是在浏览器上它实际上并不起作用
这是代码
ul {
list-style-type: none;
}
<!doctype html>
<html lang="en-us">
<head>
<title>Title</title>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="../style.css">
<!--
<style>
ul{
list-style-type:none;
}
</style>
-->
</head>
<body>
<div class="container-fluid">
<div class="row">
<div class="col-sm-8">
<nav class="navbar navbar-expand-sm">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
<i class="fas fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="collapsibleNavbar">
<ul>
<li>
<a class="active" href="/home.html">Home</a></li>
<li>
<a href="/blog.html">Blog</a>
</li>
<li>
<a href="/digitalNomad.html">Digital Nomad</a>
</li>
<li>
<a href="/about.html">About</a>
</li>
</ul>
</div>
</nav>
</div>
<div class="col-sm-4">
<ul>
<li>Facebook</li>
<li>Instagram</li>
<li>Twitter</li>
</ul>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.0.10/css/all.css" integrity="sha384-+d0P83n9kaQMCwj8F4RJB66tzIwOKmrdb46+porD/OvrJ+37WqIM7UoBtwHO6Nlg" crossorigin="anonymous">
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
</body>
</html>
答案 0 :(得分:2)
您需要查看 CSS Specificity 规则。仅仅因为您定义规则并不会自动意味着它会覆盖之前声明的规则。
特异性是根据4个因素计算的abcd
:
a (1 if inline, 0 if in a file),
b number of IDs in CSS rule
c number of attribute selectors, classes and pseudo-classes,
d number of element names and pseudo-elements.
具有最大4位数字abcd
的规则获胜并覆盖较小的声明,因此内联声明将覆盖包含的CSS文件中声明的任何内容。
其他CSS特异性文章
可能的解决方案
更改“基本”样式或直接覆盖Bootstrap样式通常不是一个好主意。
您可以通过在规则中添加!important
来覆盖其他声明,但这通常被认为是一个糟糕的解决方案。
将您自己的类和/或ID添加到您要自定义的元素中。
如果您希望快速生效,则可以将自己的特定id
或class
添加到body
元素,然后根据后代声明您的规则那个id
或class
。以这种方式使用id
将使您的规则在文件中具有01xx
的特异性,这可能足以覆盖Bootstrap规则。
e.g
文件中的CSS:
#mypage ul {
list-style-type:none;
}
HTML:
<body id="mypage">
...
<ul>
</ul>
</ul>
答案 1 :(得分:0)
您可以验证外部样式表是否实际正在加载?如果它在内部样式标记中写入时有效,但在外部文件中没有,则听起来该文件没有正确加载。这可能是文件名,文件路径,甚至文件本身的无效结构的问题。
答案 2 :(得分:0)
在引导链接上方包含您自己的样式表
<link rel"stylesheet" type="text/css" href="../style.css">
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
我经常遇到这个问题,每次都适合我,因为上面的CSS样式表比下面的那个更适合
答案 3 :(得分:0)
除了我的上一个答案,这在Chrome中运行良好:
<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css" integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="css/myrule.css">
<meta charset="UTF-8">
<title>Tests</title>
</head>
<body id="mypage">
<div class="container-fluid">
<!-- rest of your html here -->
myfile.css只包含:
#mypage ul {
list-style-type:none;
}