CSS: 首字母字体变大时下划线不对齐的解决方法

 昨天在写2017年百度ife任务六的时候遇到了一个排版问题,需要首字母字体变大的同时,下划线对齐。

     

 

  首先使用了 ::first-letter伪元素的选择器,将字体变大后,发现下划线没法对齐,代码如下:

  

复制代码
<p>dddddddddd</p>

p{ font-size: 44px; text-decoration: underline; } p:first-letter{ font-size:80px; }
复制代码

  后来改用 font-variant、text-transform 属性后解决了这个问题,代码如下;

1
2
3
4
5
6
p{
     
    font-size: 44px;
    text-decoration: underline;
    font-variant: small-caps; //关键属性
    text-transform: capitalize; //关键属性
1
}

  

 

  text-transform 属性
  这个属性会改变元素中的字母大小写,而不论源文档中文本的大小写。

  如果值为 capitalize,则要对某些字母大写,但是并没有明确定义如何确定哪些字母要大写,这取决于用户代理如何识别出各个 “词”。

描述
none 默认。定义带有小写字母和大写字母的标准的文本。
capitalize 文本中的每个单词以大写字母开头。
uppercase 定义仅有大写字母。
lowercase 定义无大写字母,仅有小写字母。
inherit 规定应该从父元素继承 text-transform 属性的值。

  兼容性:

   浏览器兼容:IE、Firefox、Chrome、Safari、Opera

  注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。所有浏览器都支持 text-transform 属性。

  font-variant 属性
  设置小型大写字母的字体显示文本,这意味着所有的小写字母均会被转换为大写,但是所有使用小型大写字体的字母与其余文本相比,其字体尺寸更小。(意味着已经使用大写字母的文本字体会更大)。

描述
normal 默认值。浏览器会显示一个标准的字体。
small-caps 浏览器会显示小型大写字母的字体。
inherit 规定应该从父元素继承 font-variant 属性的值。

  兼容性:


  所有主流浏览器都支持 font-variant 属性。注释:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"

posted @ 2017-03-23 12:37  最骚的就是你  阅读(1740)  评论(1编辑  收藏  举报