css排版-如何确定一组排版规范?

2023-08-21 0 2,286 百度已收录

您可以在晚上和周六不时更新您的个人号码;你好像是一个新媒体运营商,控制着公司各种账户的推送。

不管你是谁,只要写一个公众号,你一定会注意排版。毕竟,排版是内容的呈现,文章的铺路。

本文解决了哪些问题?

“半小时写作,半天排版”是很多人在写公众号时遇到的问题。

这是为什么呢?因为公众号提供了非常丰富的排版功能,可以调整字体大小,修改颜色,调整对齐方式,每个人都可以发挥自己的智慧和才华,给自己的文章一个独特的排版。

公众号后台的工具栏

此外,市面上还有各种第三方公众号编辑,我不小心把所有的时间都花在了排版上。

相比之下css排版,如今的头条背景,提供的排版功能已经变得非常简单,虽然常用的功能只有几个:设置为标题、粗体、插入图片......您无法更改字体大小,也无法更改颜色。

背景中的标题编号工具栏

这显然是两个产品理念。写一个微信公众号就像亲自发文,各种颜色和图形都可以放在上面;而写标题数字css排版,就像在报纸上写专栏一样,只需要提供文字,排版不是你的责任,报纸有自己的规范。

从写作效率来看,标题方案明显更好。忽略方式并专注于内容可以更有效地生成文章。

因此,建议您花时间以以前文章的风格总结自己的排版规范集。一旦你有了规范,你每次都可以专注于写作。写完后,直接应用排版,就可以发布,非常省时。

如何确定一组排版规范?

1. 确定层次结构

如何在文章正文中定义层次结构?

只要不是在写学术论文,就可以参考标题的方案:用一级标题定义级别就足够了,不需要二级标题和三级标题。

如何突出亮点?粗体就足够了。

确定级别后,下一步是通过为不同级别的文本设置不同的样式来区分它们。

2.文本的风格

正文是一篇文章最大的部分,所以文本中最重要的是“可读性”或“易读性”,让读者可以清晰地阅读而不会感到眼睛疲劳。

文字的字体大小建议为12px~18px。太小看不见,太大看不见。

Apple 的人机界面指南 (HIG) 规范,正字数为 17px。

iOS HIG 段落文本

谷歌的材料设计规范,正字数是16px。

材料设计主体1

机身颜色,纯白#000000不推荐。对比度太刺眼,建议使用最接近白色的灰度颜色。

例如,您可以参考蚂蚁金服的蚂蚁设计规范并使用#262626。

蚂蚁设计灰色

或者参考 Google 的材料设计规范并使用 #212121。

材质设计灰色

正文的植物间距建议为1.2倍~1.5倍。这允许每行之间有适当的空间,营造出出版风格的呼吸感。

3.标题的风格

标题穿插在正文中,作为大纲。因此,标题中最重要的是“醒目”或“吸引人”,以便读者在快速浏览时一目了然。

标题的字体大小可以与正文完全相同,只需调整单词粗细或颜色,就可以区分正文。没有必要刻意追求字体大小的“大”。

苹果的人机界面指南(HIG)规范,页面标题字体大小与正文相同,为17px。但是,这个词在“中”上很重,这是中等粗体。

iOS HIG 页面标题

谷歌的材料设计规范常用的标题是14px,甚至比正文的16px还要小。但是,这个词的重量也是“中”,即中粗体。

材料设计字幕2

值得注意的是,标题也是文章中为数不多的可以突出公众号品牌的地方之一。因此,您可以在标题中应用自己公众号的品牌颜色,使其在大面积的黑白中增添一抹色彩。

以标题编号为例,系统提供3种标题样式供选择。它们似乎有不同的形状和位置,但几何形状是“标题红色”的颜色。

再比如腾讯官网,标题后面的方块用的是“腾讯蓝”。

4. 排版规格示例

假设您的公众号徽标如下:

现在,我们根据以上内容快速为您的公众号制定一个排版规范:

正文:字体大小 18px,颜色 #262626,行距 1.5 倍。

标题:字体大小18px,中间歌曲,颜色#262626,行距1.5倍。在标题文本右侧的 12px 处,显示 1 个长度为 4px 的圆圈,颜色 #f85959。

构思规范后,您可以使用熟悉的绘图软件绘制它,如下所示:

恭喜您,您已经成功创建了带有自有品牌基因的公众号排版规范。

如何以书面形式应用规范?

规范的应用是减少排版的机械工作,集中精力进行文本写作。

在这里,我将向您介绍一个概念:Markdown 语言。

1. 降价

不要看到“语言”这个词,觉得这是一件非常困难的事情,其实简单来说就是:Markdown是一种写作语言,非常容易使用。

根据以上排版规范,大家只需要知道以下2种Markdown句型:

# 一级标题
**加粗**

用 Markdown 语言编写需要使用相应的软件。我建议您使用Typora,它是完全免费的,同时支持Windows和macOS平台。您可以访问其官方网站 typora.io 下载并安装。

解释一下:在文本后添加“#”符号表示这是一级标题;用“**”将文本括起来意味着将文本加粗。

用 Markdown 语言编写需要使用相应的软件。我建议您使用Typora,它是完全免费的,同时支持Windows和macOS平台。您可以访问其官方网站 typora.io 下载并安装。

现在,您可以体验在Typora中用Markdown语言专心写作的感觉。

添加“#”作为一级标题:

正常输入,即正文:

“**”将文本括起来,以粗体显示:

写完,选择全文,复制,然后粘贴到公众号后台:

可见,用Markdown的语言写的,所见即所得。复制粘贴到公众号背景后,保证文字的字体大小、颜色、行距与书写时完全相同。

但是,这种排版后的功效不是上面制定的排版规范。

没错,当前的排版效果只是 Typora 附带的一组默认主题。我们现在需要编写刚刚起草的排版规范作为 Typora 主题供我们使用。

在这里,我将向您介绍一个概念:CSS 语言。

2.CSS

这是另一种“语言”,没关系,我们只需要抓住一点皮肤。简而言之,CSS是一种用于描述网页外观的语言。

记住我们刚刚起草的排版规范:

正文:字体大小 18px,颜色 #262626,行距 1.5 倍。

标题:字体大小18px,中间歌曲,颜色#262626,行距1.5倍。左侧显示 1 个圆圈,长度为 4px,颜色 #f85959。

用CSS编写这组规范,就是这样:

p {
  font-size: 18px;
  color: #222222;
  line-height: 1.5;
}
h1 {
  font-size: 18px;
  font-weight: bold;
  color: #262626;
  line-height: 1.5;
  padding-left: 12px;
  border-left: 4px #f85959 solid;
}

其中 p 表示主体,h1 表示第一级标题。知道了这一点,然后直接翻译成英文,就很容易理解了:

正文 {
  字号: 18px;
  颜色: #222222;
  行距: 1.5;
}
一级标题 {
  字号: 18px;
  字重: 粗;
  颜色: #262626;
  行距: 1.5;
  左边距: 12px;
  左边框: 4px #f85959 实线;
}

3. 使用 CSS 作为 Typora 主题

现在,打开一个文本编辑器,将英文CSS代码粘贴进去,并将其存储为“官方.css号”。

然后,在Typora的首选项中,单击“打开主题文件夹”以复制其“官方帐户.css”文件。

复制成功后,退出 Typora 并重新打开 Typora。在“主题”菜单中,您可以看到我们的“公众号”主题,选择它:

成功

,排版规范应用成功。

现在进行技术摘要

其实你正在看的文章是用文中的方式完成的:用Markdown写->粘贴到公众号后台->配图片->推出去。

1. 前因

加油。

二、适合阅读排版

地址:

引自标题


将class=“typo”添加到需要排版的节点

3. 跨平台字体

地址:

jsdelivr 中的链接是无用的,您只能下载字体并将其.css加载到您自己的站点引用中。记得改自己的路


添加类=“font-kai

“,可选值为:字体黑、字体凯、字体歌曲、字体方松。方法同上。

4.鼠标效果

特效太多,找了半天,要么带电,要么侵入太强,要么用帆布css 排版,知道的不多,我努力了,没修好,选择换了。

不成功的地址:,效果五我太高兴了。

终于找到这个简单粗鲁、不懂事的开源。易于使用,记得为作者闪耀一颗星星。

地址:

我使用气泡功效css 排版,其他疗效对应于导出JS。

可以将以下代码添加到 js 中

// start bubbleCUrsor
function bubbleCursor(options) {
  let hasWrapperEl = options && options.element
  let element = hasWrapperEl || document.body
  let width = window.innerWidth
  let height = window.innerHeight
  let cursor = { x: width / 2, y: width / 2 }
  let particles = []
  let canvas, context
  let canvImages = []
  function init(wrapperEl) {
    canvas = document.createElement("canvas")
    context = canvas.getContext("2d")
    canvas.style.top = "0px"
    canvas.style.left = "0px"
    canvas.style.pointerEvents = "none"
    if (hasWrapperEl) {
      canvas.style.position = "absolute"
      element.appendChild(canvas)
      canvas.width = element.clientWidth
      canvas.height = element.clientHeight
    } else {
      canvas.style.position = "fixed"
      document.body.appendChild(canvas)
      canvas.width = width
      canvas.height = height
    }
    bindEvents()
    loop()
  }
  // Bind events that are needed
  function bindEvents() {
    element.addEventListener("mousemove", onMouseMove)
    element.addEventListener("touchmove", onTouchMove)
    element.addEventListener("touchstart", onTouchMove)
    window.addEventListener("resize", onWindowResize)
  }
  function onWindowResize(e) {
    width = window.innerWidth
    height = window.innerHeight
    if (hasWrapperEl) {
      canvas.width = element.clientWidth
      canvas.height = element.clientHeight
    } else {
      canvas.width = width
      canvas.height = height
    }
  }
  function onTouchMove(e) {
    if (e.touches.length > 0) {
      for (let i = 0; i < e.touches.length; i++) {
        addParticle(
          e.touches[i].clientX,
          e.touches[i].clientY,
          canvImages[Math.floor(Math.random() * canvImages.length)]
        )
      }
    }
  }
  function onMouseMove(e) {
    if (hasWrapperEl) {
      const boundingRect = element.getBoundingClientRect()
      cursor.x = e.clientX - boundingRect.left
      cursor.y = e.clientY - boundingRect.top
    } else {
      cursor.x = e.clientX
      cursor.y = e.clientY
    }
    addParticle(cursor.x, cursor.y)
  }
  function addParticle(x, y, img) {
    particles.push(new Particle(x, y, img))
  }
  function updateParticles() {
    context.clearRect(0, 0, width, height)
    // Update
    for (let i = 0; i = 0; i--) {
      if (particles[i].lifeSpan < 0) {
        particles.splice(i, 1)
      }
    }
  }
  function loop() {
    updateParticles()
    requestAnimationFrame(loop)
  }
  function Particle(x, y, canvasItem) {
    const lifeSpan = Math.floor(Math.random() * 60 + 60)
    this.initialLifeSpan = lifeSpan //
    this.lifeSpan = lifeSpan //ms
    this.velocity = {
      x: (Math.random() < 0.5 ? -1 : 1) * (Math.random() / 10),
      y: -0.4 + Math.random() * -1,
    }
    this.position = { x: x, y: y }
    this.canv = canvasItem
    this.baseDimension = 4
    this.update = function(context) {
      this.position.x += this.velocity.x
      this.position.y += this.velocity.y
      this.velocity.x += ((Math.random() < 0.5 ? -1 : 1) * 2) / 75
      this.velocity.y -= Math.random() / 600
      this.lifeSpan--
      const scale =
        0.2 + (this.initialLifeSpan - this.lifeSpan) / this.initialLifeSpan
      context.fillStyle = "#e6f1f7"
      context.strokeStyle = "#3a92c5"
      context.beginPath()
      context.arc(
        this.position.x - (this.baseDimension / 2) * scale,
        this.position.y - this.baseDimension / 2,
        this.baseDimension * scale,
        0,
        2 * Math.PI
      )
      context.stroke()
      context.fill()
      context.closePath()
    }
  }
  init()
}
new bubbleCursor()
// end bubbleCUrsor

影响:

五、小结

够了,今天很美。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悟空资源网 css css排版-如何确定一组排版规范? https://www.wkzy.net/game/129906.html

常见问题

相关文章

官方客服团队

为您解决烦忧 - 24小时在线 专业服务