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

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

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

解决方法

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

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

  1. function wrap_letters($element) {
  2. for (var i = 0; i < $element.childNodes.length; i++) {
  3. var $child = $element.childNodes[i];
  4.  
  5. if ($child.nodeType === Node.TEXT_NODE) {
  6. var $wrapper = document.createDocumentFragment();
  7.  
  8. for (var i = 0; i < $child.nodeValue.length; i++) {
  9. var $char = document.createElement('span');
  10. $char.className = 'char';
  11. $char.textContent = $child.nodeValue.charAt(i);
  12.  
  13. $wrapper.appendChild($char);
  14. }
  15.  
  16. $element.replaceChild($wrapper,$child);
  17. } else if ($child.nodeType === Node.ELEMENT_NODE) {
  18. wrap_letters($child);
  19. }
  20. }
  21. }
  22.  
  23. wrap_letters(document.querySelector('#monospace'));
  1. .char {
  2. display: inline-block;
  3. width: 15px;
  4. text-align: center;
  5. }
  1. <h2>This is a title</h2>
  2. <h2 id="monospace">This is a title</h2>

猜你在找的CSS相关文章