CSS / HTML - принуждение стиля к ребенку от родителя - PullRequest
3 голосов
/ 18 ноября 2011

У меня есть содержимое div с font-family:Tahoma.Когда пользователь щелкает клик по посту, ajax-код извлекает содержимое этого поста и помещает его в мой конкретный раздел.

В обычной ситуации (до щелчка по любой ссылке) контент отображается шрифтом Tahoma, проблема возникает, когдавызывается ajax, и новый контент отображается другим шрифтом и размером.

Как я могу сделать так, чтобы новый печатный контент отображался в моем желаемом семействе шрифтов (Tahoma)?Значение наследовать шрифт от родителя.

ЗДЕСЬ МОЙ HTML-КОД : http://jsfiddle.net/KZAVd/

Это то, что происходит после нажатия на сообщение (проверено с помощью Firebug): http://jsfiddle.net/KZAVd/3/

Ответы [ 7 ]

3 голосов
/ 18 ноября 2011

A.убедитесь, что ваш AJAX-контент находится в том же месте, что и раньше.

и / или

B.Комплект div.content, div.content *{font-family:Tahoma}

2 голосов
/ 18 ноября 2011

Вы можете присвоить содержимому div следующий класс:

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

Примерно так:

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

Это заставит любой дочерний элемент всегда иметь шрифт Tahoma.

1 голос
/ 17 декабря 2011

Нет необходимости выполнять все рутинные задачи 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: Я, очевидно, не могу это проверить, поэтому не стесняйтесь комментировать с любыми проблемами, илиопубликуйте полный URL-адрес в fetch.php, чтобы я мог проверить его с вами (если у него нет личной информации)

0 голосов
/ 18 ноября 2011

вам нужно будет явно установить семейство шрифтов для ребенка

0 голосов
/ 18 ноября 2011

Если вам нужна полная страница, попробуйте использовать тег body: тело { семейство шрифтов: Tahoma; } Я постараюсь найти другой способ

0 голосов
/ 18 ноября 2011

в зависимости от того, что вы загружаете, когда вы нажимаете на ссылку поста, попробуйте стилизовать сам пост, не пытаясь стилизовать его после загрузки.

0 голосов
/ 18 ноября 2011

Если явно не установлено другое, элемент будет наследовать семейство шрифтов от своего родительского элемента.Попробуйте использовать Firebug или аналогичный инструмент, и вы сможете точно определить, откуда исходит стиль.

...