-1

所以,我第一次参加网页设计课程,我的教授告诉我们为我们的网站使用特定的打印样式表。我希望它专门隐藏页眉导航栏(页脚、标题等),但我似乎无法正确处理。顺便说一下,导航栏是下面代码中的“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>
4

2 回答 2

1

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

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

您的 html 有一个没有 id 的标题标签。那么 CSS 选择器需要是没有“#”或“.”的“标题”。

你的 html 有id='cssmenu'. 那么 CSS 选择器需要是“#cssmenu”。

#footer.nopint在您的 CSS 中引用您的 html 中具有id='footer'或的元素class='noprint'。这些似乎暂时不用。

于 2014-06-28T11:51:42.390 回答
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
    }
}

这个问题应该为您提供更详细的信息。

于 2014-06-28T11:37:15.820 回答