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

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

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

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

  

<p>dddddddddd</p>

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

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

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

p{

	font-size: 44px;
text-decoration: underline;
font-variant: small-caps; //关键属性
text-transform: capitalize; //关键属性
}

  

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

  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"

上一篇:winsock编程IOCP模型实现代码


下一篇:.net Reactor之exe、dll文件混淆