首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当页面由document.write呈现时,css字母间距不起作用

当页面由document.write呈现时,css字母间距不起作用
EN

Stack Overflow用户
提问于 2015-03-05 04:35:53
回答 2查看 462关注 0票数 2

下面的代码与我预期的一样工作。每样东西都是完美的造型。

代码语言:javascript
复制
<style>
   .letter-spacing{
      width: 400px;
      background: red;
      text-align: center;
      letter-spacing: 20px;
    }
</style>

<div class="letter-spacing">
   <img src="icon1.png">
   <img src="icon2.png">
</div>

但是,如果我使用document.write呈现"div“,”字母间距:20‘t;“不能工作。有趣的是红色背景和中心对齐仍然有效。

代码语言:javascript
复制
<style>
   .letter-spacing{
      width: 400px;
      background: red;
      text-align: center;
      letter-spacing: 20px;
    }
</style>

<script>
    document.write('<div class="letter-spacing">'+
                       '<img src="icon1.png">'+
                       '<img src="icon2.png">'+
                   '</div>');
</script>

有人知道原因吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-05 04:50:59

因为你是这样写的

代码语言:javascript
复制
document.write('<div class="letter-spacing">'+
                   '<img src="icon1.png">'+
                   '<img src="icon2.png">'+
               '</div>');

这将导致这个HTML

代码语言:javascript
复制
<div class="letter-spacing"><img src="icon1.png"><img src="icon2.png"></div>

它不包含任何空间,因此letter-spacing: 20px;无法工作。

与直接用HTML编写的new line不同,new line被认为是空格。

如果您希望获得相同的结果,请将其更改为

代码语言:javascript
复制
document.write('<div class="letter-spacing">'+
                   '<img src="icon1.png"> '+    // Note the space before '
                   '<img src="icon2.png">'+
               '</div>');
票数 3
EN

Stack Overflow用户

发布于 2015-03-05 04:48:53

这很奇怪,但我可以用这样一种很难的方式来解决它。

代码语言:javascript
复制
document.write('<div class="letter-spacing"> '+
               '<img style="margin-right: 20px;" src="icon1">'+
                   '<img src="icon2">'+
               '</div>');

但是,如果我在css中设置了一个类,它就不能工作。真的很奇怪

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28870086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档