0

我最近重新编译了一个 .chm 文件,因为需要在每个 html 文件中进行大量更改。

简单地重新编译这些文件时我遇到的主要问题是背景图像。其中一个 html 文件中的代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>How to Create a File</title>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
  <link rel="stylesheet" media="screen" type="text/css" title="Design"
  href="design.css" />
  <!--(Style Sheet)===================================================-->
  <style>
body { background-image:url("Background.gif"); background-repeat:repeat; background-attachment:scroll;  }</style>
</head>

之前存在的编译版本可以工作并保留背景。我只是使用 Amaya 更改了 html 文件中的文本,现在它不起作用!

另一个问题是,如果我重命名所有文件并相应地更改索引文件等,我也会松开标题部分等周围的框。所以我不得不求助于旧的命名和严重无组织的文件!

我使用的所有图像都在同一个文件夹中,所以这不是问题。

有谁知道为什么会这样?任何帮助将不胜感激!

谢谢!

4

5 回答 5

0

我不确定这对你来说是否仍然是一个问题......但为了让你的背景工作,你的风格必须内联 - 即在标签中......在你的情况下,身体标签。背景图像将无法通过链接样式表或放置在标题中的样式在编译的 CHM 中工作。

你需要做:

<body style="...attributes here;">
于 2013-02-13T21:22:44.403 回答
0

我认为您使用此方法代替背景图像,然后再考虑背景重复您想要重复 x 或重复 y 或双方重复任何一个选择。

<style>
 body {
 background:url(Background.gif); 
 background-attachment:scroll;
 background-repeat:repeat;
 }
</style>
于 2012-08-23T20:13:15.877 回答
0

您需要将背景图像路径插入.hhp文件的[FILES]部分。

例如:

[FILES]
  index.html
  ...
  background.gif
于 2015-05-21T18:36:27.613 回答
0

如果您使用的是 Microsoft 文档资源管理器,这将起作用。在右键单击图像并查看其属性时,为图像源路径提供完整的 url:

ms-help://MS.VSCC.v80/MS.VSIPCC.v80/something/something/background.gif

但更好的方法是使用 JavaScript 将背景图像动态添加到元素的样式中。您可以使用 jQuery 或纯 JavaScript 来做到这一点。

使用 jQuery:

$(document).ready(function() {
    $("#example").css("background-image","url('images/css-background.jpg')");
});

使用纯 JavaScript:

var url = window.location.href;
url = url.substring(0, url.lastIndexOf("/") + 1);
var style = document.createElement('style');
document.getElementsByTagName('head')[0].appendChild(style);
style.setAttribute('type', 'text/css');
style.styleSheet.cssText = '#example {  background: url(' + url + 'images/css-background.jpg) }';
于 2016-02-22T20:18:16.020 回答
0

首先将图像转换为base 64,然后,

  • 用于<img>元素:

    <img src='data:image/png;base64,iVBOR.....'/>
    
  • 用作 CSS 背景:

    url('data:image/png;base64,iVBOR...............'
    
于 2017-03-29T02:53:18.650 回答