—来自自学未入行的前端菜
1.由letter-spacing属性导致文字不居中;
问题:在使用letter-spacing设定文字间距后,会导致文字整体不居中(原因似乎是间距不是2个文字同时移动产生一个间距,而是左边文字相对右边文字移动产生的间距,因此用了该属性后会导致文字整体相对父元素不居中,分析的可能不是很有道理,只为自己理解起来更方便,更容易记住这种特殊)。
解决办法:添加text-indent属性,值与letter-spacing值相同,此时文字整体会显示居中(具体解决原理还没有想透彻,不过暂时性解决了问题)
该方法参考自:css - 设置letter-spacing之后设置文字text-align:center不能居中? - SegmentFault
2.p元素内文字垂直方向居中;
问题:P元素内文字垂直方向不居中的问题,单行可直接设置行高(处理起来比较简单),但多行就比较麻烦:
解决办法:假设P元素计算后高度为100px(包括上下margin值等),根据设定的文字大小(这里假设为18px,一定要单独设定font-size大小,防止因继承样式或者浏览器默认字体大小导致问题),来估算一下多行文字外加行间距整体的高度(假设有3行文字,粗略估计多行文字整体高度为60px),然后设定上下margin值为20px(可根据视觉效果自行调整),设定行高(根据前面文字整体高度60px/3行)为20px,然后微调至你想要的效果即可!
该方法是我目前能想到的最好的,在此之前在网上有搜索过相关问题,只看到一个相关的(可能是我找的方式不对),但我觉得里面提供的几种方法都不太友好(在这儿我就不贴出来了,有兴趣的可以自行搜索)。
根据实际使用情况不定期更新,如有更好的方法可在评论中指出,欢迎探讨:)