打印样式表不起作用?

时间:2014-06-28 11:26:43

标签: javascript jquery html css print-style

所以,我第一次参加网页设计课,我的教授告诉我们为我们的网站使用特定的打印样式表。我希望它专门隐藏标题导航栏(页脚,标题等),但我似乎无法做到正确。导航栏是下面代码中的'cssmenu',不是,这让我失望了。本网站用于教育目的(即版权免费使用),所以请不要批评我如何设置代码,因为我是新手。如果可以,请帮忙。

我的网站是:http://tiger.towson.edu/~kmoore25/Proj_3/Welcome.html

无论如何,它不起作用,它适用于我做的其他网站。如果不工作,我的意思是我试图隐藏的元素在尝试打印时仍然可见。这是我被告知使用的模板:

/* Remove unwanted elements */
#header, #nav, .noprint
{
display: none;
}

/* Ensure the content spans the full width */
#container, #container2, #content
{
width: 100%; margin: 0; float: none;
}

/* Change text color to black (useful for light text on a dark background) */
.lighttext
{
color: #000 
}

/* Improve color contrast of links */
a:link, a:visited
{
color: #781351
}

这是我调整它的方式:

@charset "UTF-8";
/* CSS Document */

body {
    font-family: Georgia, serif;
    background: none;
    color: black;
}
#page {
    width: 100%;
    margin: 0; padding: 0;
    background: none;
}
#header, .cssmenu, #footer, .noprint {
    display: none;
}
.entry a:after {
    content: " [" attr(href) "] ";
}
#printed-article {
    border: 1px solid #666;
    padding: 10px;
}

h1
{
color: #000
}

h2
{
color: #000
}

a:link, a:visited
{
color: #781351
}

请记住,我是网站新手。最后,这是我网站上其中一个页面的html,因此您可以看到它不起作用。我删除了段落和内容以压缩代码,以便您可以更好地理解它,因为我怀疑这是问题所在:

<!DOCTYPE html>
<html lang="en" class="no-js">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>OITNB - Piper Kerman</title>
<meta name="keywords" content="html, responsive, grid, css, web design" />
<link rel="stylesheet" type="text/css" href="css/main.css" />
<link rel="stylesheet" type="text/css" href="css/drop_down.css" />
<link rel="stylesheet" type="text/css" href="css/component.css" />
<script src="js/modernizr.custom.js"></script>
<script type='text/javascript' src='js/drop_down.js'></script>
</head>

<body>
<div class="page">
  <header align="center"> <a href="Welcome.html"><img src="images/oitnb.jpg" alt="OITNB" width=""/></a> </header>
  <div id='cssmenu'>
    <ul>
      <li class='has-sub'><a href='#'><span>About the Show</span></a>
        <ul>
          <li class='active last'><a href='synopsis.html'><span>Synopsis</span></a></li>
          <li class='active last'><a href='piper.html'><span>The Real Piper Kerman</span></a></li>
        </ul>
      </li>
      <li class='has-sub'><a href='#'><span>Seasons</span></a>
        <ul>
          <li><a href='season_one.html'><span>Season One</span></a></li>
          <li class='active last'><a href='season_two.html'><span>Season Two</span></a></li>
        </ul>
      </li>
      <li class='has-sub'><a href='#'><span>Cast</span></a>
        <ul>
          <li class='active last'><a href='season_one_cast.html'><span>Season One</span></a></li>
          <li class='active last'><a href='season_two_cast.html'><span>Season Two</span></a></li>
        </ul>
      </li>
      <li class='has-sub'><a href='#'><span>Pics</span></a>
        <ul>
          <li><a href='posters.html'><span>Posters</span></a></li>
          <li><a href='fan_art.html'><span>Fan Art</span></a></li>
          <li><a href='thumbnails.html'><span>Thumbnails</span></a></li>
          <li><a href='gifs.html'><span>GIFs</span></a></li>
        </ul>
      </li>
      <li class='active'><a href='contests.html'><span>Contests</span></a> </li>
      <li class='active last'><a href='contact.html'><span>Contact</span></a></li>
    </ul>
  </div>
</body>
</html>

2 个答案:

答案 0 :(得分:1)

这是关于在CSS文件中找到与你想要更改的html中的元素,id或类相匹配的正确CSS选择器:

将CSS文件(#header, .cssmenu, #footer, .noprint)中的选择器与html中的id,类和标签进行比较。

你的html有一个没有id的标头标签。那么CSS选择器需要是&#34; header&#34;没有&#39;#&#39;或&#39;。&#39;。

你的html有id='cssmenu'。那么CSS选择器需要是&#34;#cssmenu&#34;。

CSS中的

#footer.nopint会引用html中包含id='footer'class='noprint'的元素。这些似乎暂不使用。

答案 1 :(得分:0)

您需要使用媒体查询来阻止元素在打印时显示。根据这一点,应该可以解决这个问题。

@media print
{
    /* Remove unwanted elements */
    #header, #nav, .noprint
    {
        display: none;
    }

    /* Ensure the content spans the full width */
    #container, #container2, #content
    {
        width: 100%; margin: 0; float: none;
    }

    /* Change text color to black (useful for light text on a dark background) */
    .lighttext
    {
        color: #000 
    }

    /* Improve color contrast of links */
    a:link, a:visited
    {
        color: #781351
    }
}

question应该会为您提供更详细的信息。