0

css我正在尝试使用 css 创建一个打印样式表以连接到我的 html 网页。我在下面添加了样式表行,我的样式表是一个名为 print.css 的 css 文件,与我的 html 文件位于同一目录中。这是我第一次这样做,就程序而言,我做错了什么吗?

感谢您的任何建议

HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="print.css" media="print"/>

<style>
   .
   .
   .
</style>

</head>

CSS

 <!DOCTYPE html>
 <html>
 <head>
 <style>
 body{
 width: 8000px;
 background-color: #FFFFFF;
  }
  .section{
  width: 2000px;
  float: left;
  height: 100%;
  z-index: 1;
  font-size:20px;
  page-break-after: always;
  page-break-inside: avoid;



  p a:after {
  content: " (" attr(href) ")";
  font-size: 50%;
   }
 </style>
 </head>
 </body>
 </html>
4

3 回答 3

3

CSS 文件不能包含 HTML。这是您的 print.css 文件应包含的所有内容:

body{
    width: 8000px;
    background-color: #FFFFFF;
}

.section{
    width: 2000px;
    float: left;
    height: 100%;
    z-index: 1;
    font-size:20px;
    page-break-after: always;
    page-break-inside: avoid;
}

p a:after {
    content: " (" attr(href) ")";
    font-size: 50%;
}
于 2013-04-16T17:36:17.607 回答
0

您在 CSS 文件中包含了 HTML,这将不起作用。您需要删除<!DOCTYPE html> <html> <head> and <style>标签。

您还忘记了.section用右括号关闭您的 css,所以它看起来像这样:

.section{
width: 2000px;
float: left;
height: 100%;
z-index: 1;
font-size:20px;
page-break-after: always;
page-break-inside: avoid; }

除此之外,请检查您的 CSS 文件是否与link标签中指定的名称相同 - 您可能在某处有拼写错误。

于 2016-03-08T16:09:13.253 回答
-1

您对 css 文件的调用中的 href 错误:

您正在调用一个可能不存在的 HTML 文件

<link href="print.html" type="text/css" rel="stylesheet" media="print" /> 

如果确实存在,则从该 HTML 文件中提取您的 css 并将其放入 CSS 文档中,然后像这样链接到该文件:

<link href="print.css" type="text/css" rel="stylesheet" media="print" /> 

在该文件中,将您的样式包装在此标签中:

@media print {你的css在这里}

这应该完全符合您的需要。

于 2013-04-16T17:32:57.717 回答