发布于2023-11-18 07:47 阅读(866) 评论(0) 点赞(10) 收藏(4)
所以我需要制作每个圆圈中都有一个字母的圆圈,并且我希望将字母居中。然而,当我使用不同大小的字母时,它们居中的方式有所不同,在本例中是小写q和大写 A(只是一个例子,它可以是任何字母):
span {
align-items: center;
display: flex;
font-family: sans-serif;
justify-content: center;
border-radius: 50%;
height: 30px;
width: 30px;
border: 1px solid black;
float: left;
}
<span>q</span>
<span>A</span>
您可以看到小写的 q 低于大写的 A,这是因为字母大小不同,并且 q 没有填满上部。这会导致字母 q 看起来不正确居中。
这是一张图片来证明我的意思,左边是我得到的,右边是我想要的:
q 应该稍高一些,以使其看起来正确居中。是否可以在不更改每个具有不同大小的字母的 CSS 的情况下做到这一点?
一个 JavaScript 解决方案。我将小写字母分为三种不同的类型:标准小写字母、线下字母和高字母。我使用 ASCII 代码来定位它们,并添加 CSS 类并进行margin-top
相应的更改。您可以相应地添加更多例外(字母 j 可能需要向下一个像素。)
$('span').each(function(){
var letter = $(this).text();
var letterCode = letter.charCodeAt(0);
//check if lowercase
if (letter == letter.toLowerCase()){
$(this).addClass('lowercase');
}
if (letterCode == 106 || letterCode == 112 || letterCode == 113 || letterCode == 121 || letterCode == 103 ){ //jpqyg
$(this).addClass('below-line');
}
//All these other letters : bdfiklt
if(letterCode == 98 || letterCode == 100 || letterCode == 102 || letterCode == 105 || letterCode == 107 || letterCode == 108 || letterCode == 116){
$(this).addClass('tall-letters');
}
});
div {
align-items: center;
display: flex;
font-family: sans-serif;
justify-content: center;
border-radius: 50%;
height: 30px;
width: 30px;
border: 1px solid black;
float: left;
}
span{
margin-top: 0;
}
.lowercase{
margin-top: -3px;
}
.below-line{
margin-top: -6px;
}
.tall-letters{
margin-top: -1px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><span>A</span></div>
<div><span>a</span></div>
<div><span>B</span></div>
<div><span>b</span></div>
<div><span>C</span></div>
<div><span>c</span></div>
<div><span>D</span></div>
<div><span>d</span></div>
<div><span>E</span></div>
<div><span>e</span></div>
<div><span>F</span></div>
<div><span>f</span></div>
<div><span>G</span></div>
<div><span>g</span></div>
<div><span>H</span></div>
<div><span>h</span></div>
<div><span>I</span></div>
<div><span>i</span></div>
<div><span>J</span></div>
<div><span>j</span></div>
<div><span>K</span></div>
<div><span>k</span></div>
<div><span>L</span></div>
<div><span>l</span></div>
<div><span>M</span></div>
<div><span>m</span></div>
<div><span>N</span></div>
<div><span>n</span></div>
<div><span>O</span></div>
<div><span>o</span></div>
<div><span>P</span></div>
<div><span>p</span></div>
<div><span>Q</span></div>
<div><span>q</span></div>
<div><span>R</span></div>
<div><span>r</span></div>
<div><span>S</span></div>
<div><span>s</span></div>
<div><span>T</span></div>
<div><span>t</span></div>
<div><span>U</span></div>
<div><span>u</span></div>
<div><span>T</span></div>
<div><span>t</span></div>
<div><span>U</span></div>
<div><span>u</span></div>
<div><span>V</span></div>
<div><span>v</span></div>
<div><span>W</span></div>
<div><span>w</span></div>
<div><span>X</span></div>
<div><span>x</span></div>
<div><span>Y</span></div>
<div><span>y</span></div>
<div><span>Z</span></div>
<div><span>z</span></div>
作者:黑洞官方问答小能手
链接:http://www.qianduanheidong.com/blog/article/532556/34d45404a2133c78ad62/
来源:前端黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 前端黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-3
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!