CSS样式覆盖规则心得

在练习一个网页实战的时候,遇到个很奇怪的问题,经过网上查阅资料才知道 原来是不了解css样式覆盖规则 导致犯了一个低级又不容易发现的错误

一下是解决过程简介:

有两个文件 ①index.html(正确模板)            ②indextest.html(自己练习)

首先 正确模板如下图所示:


源码:index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>blog homepage</title>
<link href="css/reset.css" rel="stylesheet" media="screen">
<link href="css/style.css" rel="stylesheet" media="screen">


</head>
<body>
    <div id="page">
        <aside id="sidebar">
            <nav><a class="logo" href="#top" id="nav-logo"><span>A portfolio of</span>Joefrey Mahusay</a>
              <ul>
                <li class="active" id="nav-1"><a href="#home">HOME</a></li>
                <li id="nav-2"><a href="#work">WORK</a></li>
                <li id="nav-3"><a href="#about">ABOUT</a></li>
                <li id="nav-4"><a href="#contact">CONTACT</a></li>
              </ul>
              <div class="bg_bottom"></div>
            </nav>
        </aside>

style.css:

body{
    background:url(../images/bg.gif) repeat-y center;
    color:#8f8f8f;
    
}

reset.css:

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,  footer, header, hgroup,
menu, nav, section, summary, time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

错误文件如下图所示:indextest.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>blog homepage</title>

<link href="css/style.css" rel="stylesheet" media="screen">

<link href="css/reset.css" rel="stylesheet" media="screen">

</head>
<body>
    <div id="page">
        <aside id="sidebar">
            <nav><a class="logo" href="#top" id="nav-logo"><span>A portfolio of</span>Joefrey Mahusay</a>
              <ul>
                <li class="active" id="nav-1"><a href="#home">HOME</a></li>
                <li id="nav-2"><a href="#work">WORK</a></li>
                <li id="nav-3"><a href="#about">ABOUT</a></li>
                <li id="nav-4"><a href="#contact">CONTACT</a></li>
              </ul>
              <div class="bg_bottom"></div>
            </nav>
        </aside>

以上截图 相信懂的人一眼就看出来了吧 没错 就是因为css文件引入顺序颠倒了一下 所以导致body元素background属性被覆盖 所以indextest.html才会不现实背景图片

根本原因是 根据css样式覆盖原则 在样式权值相同的情况下 后导入的css文件会把先倒入的css文件中的相同元素的相同属性覆盖 所以浏览器才判定被覆盖的无效 样式就不能正确显示了 。。


以上为本人学习过程中的一点小小积累 各位看官大神如有高见 欢迎指点大笑

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值