《CSS揭秘》第五章:字体排印

智码逐浪人
• 阅读 2698

字体排印

连字符断行

在杂志和书籍中,经常可以见到两端对齐效果。但是在网页设计中,两端对齐效果很少被使用。
原因是会带来糟糕的显示问题。
text-align: justufy;

《CSS揭秘》第五章:字体排印

在css第三版中,引入了一个属性hyphens:\[none, manual, auto\]
使用hyphens:auto;会让浏览器决定什么时候用换行符。前提是提前设置好网页的HTML标签的lang属性。
在线编辑:dabblet JSFiddle
注:使用chrome浏览器测试均不正常。使用safari浏览器测试正常

《CSS揭秘》第五章:字体排印

插入换行

考虑如下代码:

<dl>
    <dt>Name:</dt>
    <dd>Versdf</dd>

    <dt>Email:</dt>
    <dd>hfd@fas.me</dd>

    <dt>Location:</dt>
    <dd>Earth</dd>
</dl>

想要的效果如图:

《CSS揭秘》第五章:字体排印

由于<dt><dd>都是块级元素,所以在不修改结构的前提下,我们可以使用伪元素实现不破坏语义同时实现此目的

dd + dd::before {
    content: ', ';
    font-weight: normal;
    margin-left: -.25em;
}

文本行的斑马条纹

斑马条纹在UI设计中十分常见。我们可以使用:nth-child()/:nth-of-type()伪类来对奇数行和偶数行设置不同的背景,也可以使用不同的div去包裹奇数行和偶数行。现在我们还有一种简单的方法实现这一目的:对元素设置条纹背景

pre { 
    padding: .5em;
    line-height: 1.5;
    background: hsl(20, 50%, 95%);
    background-image: linear-gradient(
                      rgba(120,0,0,.1) 50%, transparent 0);
    background-size: auto 3em;//北京高度为line-height的两倍
    background-origin: content-box;//设置background-position基准以content box为准
    font-family: Consolas, Monaco, monospace;
}

《CSS揭秘》第五章:字体排印

调整tab宽度

在网页中,通常使用<pre>或者<code>来显示代码。它们tab会被解析成8个字符。

《CSS揭秘》第五章:字体排印

而我们通常希望将其设置为4或者2。在CSS第三版中,增加了属性tab-size可以用来控制这个属性.

pre {
    tab-size: 2
}

《CSS揭秘》第五章:字体排印

连字

某些字形与字形相邻时会带来显示上的问题。比如大多数衬线字体中的fi。在css第三版中,引入了font-variant-ligatures属性

font-variant-ligatures: comon-ligatures
                        discretionary-ligatures
                        historical-ligatures

华丽的&符号

通过@font-face规则实现只对&符号应用特殊的字体。感觉方法不是很通用,先不做深入研究。

点赞
收藏
评论区
推荐文章
深度了解CSS里面字体规则、行高和垂直对齐方式
大家熟知的Lineheight和verticalalign是简单的CSS属性。如此简单,以至于我们大多数人都确信完全理解它们的工作原理和使用方法。真的是这样么,我觉得事实并非如此。它们确实很复杂,也是CSS中难点之一,因为它们在创建C
明月 明月
3年前
css实现文字两端对齐
language这是摘哦给你发觉得斯蒂芬这是摘哦给你发觉得斯蒂芬在块级元素box上面,加上textalign:justify;,在span元素上加上样式languagedisplay:inlineblock;paddingleft:100%;效果图
Jacquelyn38 Jacquelyn38
4年前
你肯定会用到的CSS多行多列布局
前言:因为项目中使用flex过程中,如果采用spacebetween两端对齐,会遇到最后一行难以对齐的问题。本文主要对多行多列这种常见的布局,列出解决方案,方便大家日常开发使用。话不多说,直接进入正题:方案一:标签补位我们都知道,之所以对不齐是因为最后一行的子项目没有达到4个,spacebetween的对齐方式,自然会把中间空出来。既然如此,何不直接补
Wesley13 Wesley13
3年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
3年前
HTML CSS布局定位
HTMLCSS布局定位我们在编写网页代码时,首先应该做的就是设计好页面的布局形式,然后再往里面填充内容。网页布局的好与坏,直接决定了网页最终的展示效果。PC端常见的网页布局形式有两列布局、三列布局等。在CSS中,我们通常使用浮动(float)、定位(position)、显示模式(display)相关属性结合使用,以达到预期效果
Stella981 Stella981
3年前
IOS label和button
//创建UILabel函数(void)creatUILabel{//定义并创建一个UILabel对象UILabellabelUILabelallocinit;//文字赋值,字符串对象,设定字体大小,颜色,阴影,阴影偏移量,对齐方式,显示行数(
Stella981 Stella981
3年前
CSS 布局 ,文档流,定位,中划线,表格属性,line
CSS知识汇总verticalalign:top|middle|bottom//用于图片时,(如文字)其他元素相对于图片的上,中,下对齐divlineheight:200px;//设置lineheight的高度和div的高度一样,则div里的文字10Px上下居中对齐divheight:200px;divfontsiz
Wesley13 Wesley13
3年前
CSS基础知识整理
1什么是CSS?CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)、图片的外形(宽高、边框样式、边距等)以及版面的布局等外观显示样式。CSS以HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且还可以针对不同的浏览器设置不同的样式。
Wesley13 Wesley13
3年前
CSS中的滤镜
设计网页时合理的为页面应用滤镜,可以起到非同凡响的效果。CSS滤镜分为基本滤镜和高级滤镜,基本滤镜又称为视觉滤镜,只要将其应用于对象上,便可以立即产生视觉特效,但其效果远不及高级滤镜。css的滤镜标示符是filter,在创建滤镜时首先要对filter进行定义,使用方法同其他css语法。一、Alpha滤镜:对图像,文字设置透明效果1、语法.
Stella981 Stella981
3年前
CSS实现文字两端对齐
最近的项目遇到了这样的需求:(要求标题部分不管文字多少,都必须两端对齐)如下图:!(https://oscimg.oschina.net/oscnet/6e151291c0c55e2a231d00ec198d6c5be11.png)当时也没有多想直接使用‘&ensp;’进行代替,毕竟产品同学想快一点看到效果,不敢怠慢!不过到第二个页面就傻眼了
Easter79 Easter79
3年前
TrueType入门:基本概念
本文作者李松峰,资深技术图书译者,翻译出版过40余部技术及交互设计专著,现任360奇舞团Web前端开发资深专家,360前端技术委员会委员、W3CAC代表OpenType是TrueType的扩展。本文全流程介绍TrueType从字体设计到字体显示的每个步骤,这些步骤同样也适用于OpenType。TrueType字体可能诞生于纸上,也可能从其他格式
智码逐浪人
智码逐浪人
Lv1
雨滴答滴答地落,心扑通扑通地沉。
文章
4
粉丝
0
获赞
0