CSS / HTML - 从父级强制子级的样式

时间:2011-11-18 17:37:13

标签: css html parent inheritance

我有一个内容div font-family:Tahoma。当用户点击帖子克隆时,ajax代码将获取该帖子的内容并放入我的特定div中。

在正常情况下(点击任何链接之前)内容以Tahoma字体显示,调用ajax时出现问题,新内容以不同的字体和大小显示。

如何在我想要的font-family(Tahoma)中显示新的打印内容?含义从父级继承字体。

这是我的HTML代码http://jsfiddle.net/KZAVd/

点击帖子(使用Firebug检查)后会发生这种情况:http://jsfiddle.net/KZAVd/3/

7 个答案:

答案 0 :(得分:3)

一个。确保你的ajax内容与以前的内容相同。

和/或

B中。设置div.content, div.content *{font-family:Tahoma}

答案 1 :(得分:1)

您可以为内容div提供以下类:

.content * {
  font-family:Tahoma !important;
}

像这样:

<div class="content">
  ...ajax content...
</div>

这将强制所有子元素始终具有Tahoma字体。

答案 2 :(得分:1)

不需要自己处理AJAX的所有普通任务,让jquery去做。

function ajaxFunctionFinal(id, title, content)
{
    var queryString = "?post_id=" + id + "&ts=" + new Date().getTime();

    $.ajax({
        url: "fetch.php" + queryString,
        complete: function(data){
            $("#post_more").html( data.responseText )
                .find('*').removeAttr("style");
            $("#post_content").html( content );
            $("#post_title").html( title );
            InlineMp3();
        }
    });
}

你特别感兴趣的一行是.find('*').removeAttr("style");,它将抓住新插入内容的所有后代并抛出它们的样式属性,从而粉碎随附的内嵌样式并允许你的css完全控制。

ps:我显然无法对此进行测试,因此可以随意评论任何问题,或者将完整的网址发布到fetch.php,以便我可以与您一起测试(如果没有私人信息)< / p>

答案 3 :(得分:0)

除非明确设置不同,否则元素将从其父元素继承font-family。尝试使用Firebug或类似工具,您将能够确切地看到样式的来源。

答案 4 :(得分:0)

根据您点击帖子链接时的加载情况,尝试设置帖子本身,而不是在加载后尝试设置样式。

答案 5 :(得分:0)

如果您想要整页,请尝试使用正文标记:      身体{      FONT-FAMILY:宋体;      } 我会尝试找另一种方式

答案 6 :(得分:0)

您需要明确设置子项的字体系列