使用CSS将非等宽字体强制为固定宽度

前端之家收集整理的这篇文章主要介绍了使用CSS将非等宽字体强制为固定宽度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有什么办法可以强制使用CSS进行字处理吗?

这个意思是说,使用非等宽字体,你可以强制浏览器以固定的宽度渲染每个字符吗?

解决方法

你不能用CSS这样做。即使可以,结果会显得可怕:

如果您真的需要这样做,您可以使用JavaScript将每个单独的角色包含在元素中(或者只是手工执行):

function wrap_letters($element) {
    for (var i = 0; i < $element.childNodes.length; i++) {
        var $child = $element.childNodes[i];

        if ($child.nodeType === Node.TEXT_NODE) {
            var $wrapper = document.createDocumentFragment();

            for (var i = 0; i < $child.nodeValue.length; i++) {
                var $char = document.createElement('span');
                $char.className = 'char';
                $char.textContent = $child.nodeValue.charAt(i);

                $wrapper.appendChild($char);
            }

            $element.replaceChild($wrapper,$child);
        } else if ($child.nodeType === Node.ELEMENT_NODE) {
            wrap_letters($child);
        }
    }
}

wrap_letters(document.querySelector('#monospace'));
.char {
    display: inline-block;
    width: 15px;
    text-align: center;
}
<h2>This is a title</h2>
<h2 id="monospace">This is a title</h2>
原文链接:https://www.f2er.com/css/219598.html

猜你在找的CSS相关文章