首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    文字排版入门—— 排版基础、CoreText和图文混排

    一、排版概念 1、Characters and Glyphs(字符和字形) 字符是文字的最小单元,以这段文字为例,每个字都是一个字符;需要注意,字符是一个抽象的概念; 当文字真正绘制出来时需要选择字体...字符属性的详细介绍: text direction:文字的排版顺序,像English是从左上角开始,从左到右;也有文字的排版是从右到左或者是从上到下的排版等; line breaking:在字符串中找到一个点...CoreText是一个高效处理字符和字形转换和进行文字排版的框架,API基于C语言。...,有时候我们希望两端对齐,此时可以用下面的方法实现: line是需要对齐的行,justificationFactor是调整的系数(范围0到1,假如文字长度是100,限定宽度是300,则填充的空白区域为...根据测量,文字中图片的size确实为预设的文字大小,底部的浅绿色区域其实是排版时,一行的descent区域。

    8.7K32

    Css 实现多行文字截断

    响应式系统设计 看似十分简单的标题截断效果,但是竟然没有一个统一 CSS 属性实现标准,需要用到一些奇淫妙计来实现,一般来说,在做这样文字截断效果时我们更多是希望: 兼容性好,对各大主流浏览器有好的支持...如果是多行文字截取效果,实现起来就没有那么轻松。 -webkit-line-clamp 实现 先介绍第一种方式,就是通过 -webkit-line-clamp 属性实现。...回到事情的本质来看:我们希望 CSS 能够有一种属性,能够在文字溢出的情况下显示省略号,不溢出时不显示省略号(两种形式,两种效果)。...正当我以为 CSS 已经无能为力,只能通过 JS 去实现的时候,后来看到了一个方法非常巧妙,而且能够满足上述提到的所有准则,下面我就介绍如何通过 float 特性实现多行文本截断效果。...实现效果 这里我目前看到最巧妙的方式了。只需要支持 CSS 2.1 的特性就可以了。 优点: 兼容性好,对各大主流浏览器有好的支持。 响应式截断,根据不同宽度做出调整。

    2.8K00

    CSS 排版与正常流 —— 重学CSS

    这一周我们重新回到《重学 CSS》系列,之前的文章中我们重新学习了《CSS 选择器》和《CSS 语法与规则》。接下来我们就一起来讲讲 CSS 里面的排版与正常流。...CSS 选择器中的是元素。 其实这里还可以加一个 "或",在《CSS 选择器》中讲到的,CSS 选择器选中的是元素或者是伪元素。 !! CSS 选择器中的元素,在排版时可能产生多个盒。...排版和渲染的基本单位是盒 在我们的《模拟浏览器》的实现过程中,我们的排版盒渲染都是直接拿元素当盒去用了。但是这是一个很粗糙的做法,在实际上我们很多元素都会产生多个盒。...正常流 CSS 的排版其实是有三代的排版技术的: 第一代就是正常流 第二代就是基于 Flex 的排版 第三代就是基于 Grid 的排版 结合最近推出的 CSS Houdini,可能更接近的是 3.5 代...正常流排版 接下来我们就正式进入正常流的排版讲解。 正常流排版的整个过程,与实现 flex 的过程比较类似,有这几个步骤: 收集盒与文字进行 计算盒与文字在行中的排布 计算行与行之间的排布 !!

    1.1K21

    文字如何实现完美UI?文本排版设计告诉你

    这里太多因素需要考虑,文本排版设计就是其中不可或缺的一部分。今天,我将从文本排版设计角度出发,谈谈如何实现完美的手机UI界面。 首先,有必要了解一下基础知识。...“文本排版,“又称“文字设计”,是一种涉及对字体、字号、缩进、行间距、字符间距进行设计、安排等方法来进行排版的一种工艺。...能实现有效的UI和UX吗?虽然图片和视频极具动态也丰富多彩,但用户仍然需要通过文本获取信息。这不仅仅是一种习惯,文字本身也能传达其它元素无法传达的信息。...优秀的手机排版设计,不会让用户产生视疲劳,而应该让用户能轻松获取信息,实现人机有效互动。 ? 那么,文本排版设计的奥秘究竟有哪些呢?如何通过文本排版设计实现完美UI呢?...它可能产生右边缘边距,留下空间,左对齐可以使用户的目光从一行文字连贯到下一行文字,提供一个整齐的初始点。 ? 然而,有些设计师认为混合对齐方式可以更好的实现和谐的UI。看下面的界面: ?

    3.2K70

    CSS flex 排版与动画 — 重学 CSS

    Flex 排版 在之前的《实现中学习浏览器原理》篇章中,其实已经有了比较详细的接触到 Flex 排版的知识。这里我们基本上是重新复习一下 Flex 的排版技术。...Flex 的排版逻辑还是分为三步: 收集盒进行 计算盒在主轴方向的排布 计算盒在交叉轴方向的排布 !! 对 flex 排版来说,是没有文字的,所以说 flex 排版我们是收集所有的盒进行。...关于绘制我们要讲到三类的绘制: 几何图形 border box-shadow border-radius 文字 font text-decoration 位图 background-image 在 CSS...当然当时没有现代 CSS 那么发达的时候,这些同学们的研究确实是值得敬佩的。 文字 文字的属性 font、text-decoration这些都会产生一些不同的图形。...文字它的 font 这一类属性,既会影响前面说的 layout (排版) 效果,也会影响我们绘制的效果。 在文字的 font 字体文件里面,规定了每个文字的字形叫 glyph。

    1.7K51

    群分享:Markdown + CSS 实现微信公众号排版

    封面来源:见图片水印 Markdown 是一种轻量级的标记语言,它的文本可以转换为 HTML ,加上 CSS 的样式控制,能够很方便快捷进行文章排版。...Markdown 解决了一文多处投放(微信公众号+博客)以及排版的问题。...我们发布在网络各处的文章,最终都会被转换为 HTML 进行展示,因此,当不需要复杂排版时,Markdown + CSS 完全可以满足我们的排版需求,比如本文。...中文字体若是不设置行间距和字间距的话,在手机上读起来很费劲,另外很多人跟我反映大一点的字体尺寸,以上这些,除了字体,李笑来都做了。我在他的基础上进行了一些小修改。...关于配色 经过乔先生漫长的吐槽以及挑刺,我最终有两个配色方案,一个是基于李笑来配色方案的修改版(本文采用的配色),一个是没采用 Markdown + CSS 排版之前一直使用的粉色系模板的配色方案。

    6.7K60

    纯CSS实现『斑马纹理投影文字』

    theme: smartblue 效果展示 思路分析 层级思路 从展示的效果可以猜到这个效果由3层文字组成。...表面一层黑色文字 中间一层白色文字 最低的一层是斑马条纹文字 要实现多层文字,我首先想到的是文字投影 text-shadow ,但通常 text-shadow 只能投个纯色出来。...直接使用图片实现斑马纹路 使用 background-image 里的线性渐变 linear-gradient 第一种思路不推荐,因为作为一个有追求的前端能不使用图片就尽量别使用图片!...这个方法经常用来做文字特效。 要将背景渲染到文本中还需要把文字原本的颜色设置成透明,这样才能把背景图案显示出来。...,效果更明显 */  font-weight: bold; /* 文字粗点,这样效果更明显 */  color: transparent; /* 设置文字填充颜色为透明,这样可以把背景显示出来 */

    1K31

    CSS实现图片悬停文字叠加效果

    对于本教程,你必须具备充分的 HTML 和 CSS 基本知识。 ?...然后在其内部给要渲染的图像设置类名image__img; 同级还有一个类名为image__overlay的div,是用于鼠标悬停时显示的,在这里面,我们可以把任何文本相关的东西覆盖在原图之上 编写CSS...最后设置一下动画过度效果transition,以及一些想要的字体相关的css属性,这里大家可以自行调整 .image { position: relative; width: 30%;...我们只需要将以下简单的类添加到 css 中,然后将他们添加到类名为 image__overlay 的 div 元素中即可 .image__overlay--blur { backdrop-filter...我们用这样的代码创建了三个很酷的 CSS Hover 效果。希望这对你有帮助。 强烈推荐 给你们推荐一下我的个人博客,拥有大量优质文章、面试宝典、算法精选,欢迎访问~

    4.5K20
    领券