首页 > 解决方案 > 在 php 中使用 css 伪元素不起作用

问题描述

我的问题是我必须在 php 中添加标签,以便在其中放置一些带有伪元素 span: before 和 content: 'text' 的样式,其中我有多种语言的翻译。

当然,已经添加并且文件上的其余特殊字符正确显示。我的问题只是 . 我还尝试了“header('Content-Type:text/html; charset = utf-8');” 什么都没有改变。

问题是没有正确将特殊字符读取为“í”或“ç”,甚至添加了utf8_decode。

这里是我已经声明要翻译的单词的 php 代码

$textoProtecciones = utf8_decode ($trEstatico->_("Protecciones"));
$textoCaracteristicas = utf8_decode ($trEstatico->_("Características"));
$textoCortes_Negativo = utf8_decode ($trEstatico->_("Negativo"));

这里是php中标签中的css样式


<style>
    @media (max-width: 768px) {


        #owlcomparativatable .owl-item.active.center  .item-table .clear.clear_third span:before {
            content: '<?php echo $textoProtecciones;?>';
        }

        #owlcomparativatable .owl-item.active.center  .item-table .clear.clear_fourth span:before {
            content: '<?php echo $textoCaracteristicas;?>';
        }

        #owlcomparativatable .owl-item.active.center  ul.cortes li.features_tablet:first-child span:before {
            content: '<?php echo $textoCortes_Negativo;?>';
        }
</style>

然而,即使一切都已经很好地宣布,在屏幕上我看到“Características”。即使在控制台代码中也没有正确读取“í”的 utf8 代码,显示如下:

#owlcomparativatable .owl-item.active.center .item-table .clear.clear_fourth span:before {
content: 'Caracter&iacute;sticas';
}

有人可以帮我解决这个问题吗?

标签: phphtmlcsspseudo-elementcss-content

解决方案


&iacute;是的HTML 实体í其中的所有字符(与号、i、a 等)都以 ASCII 格式出现,因此无需(或点)对字符编码做任何事情。

HTML 实体在 CSS 中没有特殊含义,因此文本“按原样”显示。

您需要将 HTML 转换为纯 (UTF-8) 文本。使用功能_html_entity_decode


推荐阅读