前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >非样式布局

非样式布局

作者头像
lesM10
发布于 2019-08-26 09:08:11
发布于 2019-08-26 09:08:11
1.9K00
代码可运行
举报
运行总次数:0
代码可运行
非布局样式-字体
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* 字体 字重 颜色 大小 行高
    和文字相关的一些
* 背景 边框      
    和盒子相关的
* 滚动 换行
    跟 页面 和 布局有关
* 粗体 斜体 下划线
    文字装饰性的样式
* 其它


* 字体族(font-family)
    -- serif 衬线字体:字体周围有装饰性的弯弯钩钩(比如 宋体)
    -- sans-serif 非衬线字体:字体笔画的开始和结束 都非常规则。如 屏幕上的文字(比如 黑体)
    -- monospace 等宽字体:每个字母所占屏幕的宽度 是相等的
    -- cursive 手写体:比如 方正体 静蕾体
    -- fantasy 花体:英文中很华丽的 弯弯绕绕的字体
* 多字体fallback
    指定的字体找不到时,按fallback的规定 向后查找字体。 看浏览器所在主机中 有没有fallback指定的这些字体中的一个。
    fallback并不是针对整个body元素的,而是 对每个字符都会采用fallback机制。因此,中英文混杂的网页中,可能同时有多种字体的存在。
* 网络字体,自定义字体
    引用网络上的字体 或 引用本地的字体
* iconfont
    用一系列的图片 代替 具体的一系列的字符(也就是一套字体)

具体的某套字体的名称,用双引号括起来。而字体族 是不能加引号的。
把更特殊的字体 写在前面,稍微通用一些的字体 往后放。不然的话,先找到较通用的“Microsoft Yahei”后,就使用“Microsoft Yahei”了,而不再使用 较特殊的字体“PingFang SC”了。最后写一个字体族monospace 用来匹配多种字体。如下示例:
font-family: "PingFang SC", "Microsoft Yahei", monospace;

自定义字体:
    @font-face {
        font-family: "IF";
        src: url("./IndieFlower.ttf");
    }
    .custom-font{
        font-family: IF;
    }
    1) 自定义字体@font-face  2) 引用自定义字体 font-family: IF;
远程字体的引用:
    <link rel="stylesheet" type="text/css" href="http://xxx.com/xxx.css">
    .custom-font{
        font-family: IF;
    }
    先获取远程css,远程css中已经包含了字体的定义,然后 直接引用 css中包含的字体。
自定义图标库:
    到iconfont.cn中 选择图标->加入购物车->添加至项目->下载

非布局样式 - 行高
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* 行高的构成
    行高是由line-box决定的,line-box是由inline-box组成的,inline-box的line-height 会决定 行高的高度。
* 行高相关的现象和解决方案

* 行高的调整


* 底线 顶线,底线和顶线 之间 是文本占据的区域。 
* 基线(base line),英文文字的对齐线。
    对中文来讲,文字的底部才是基线位置;同时 文字的对齐 是使用顶线或底线 来对齐的。


* 为什么行高不一样,然而渲染的高度却是一样的呢?
    line-height 会把 文本盒 撑起来,也就是 会撑起来文本所在的inline-box的高度,但是并不影响 文本所占空间的高度 和 布局的高度。
    
    多个inline-box 加在一起 构成了 line-box(也就是一行)
    line-box的高度 是由inline-box的高度决定的。
    span默认是inline的 也是没有定高的,给span规定高度也是没有用的(因为span是inline的)。

    line-height 大于 font-size时,会导致多余的空间 分布到文字的上下两侧,从而导致 文字垂直居中。因此,想要垂直居中时 可以通过line-height来做。
    文字的背景色 是根据字体的大小来渲染的,底线和顶线之间。
    
* 为什么图片底部有空白?
    * 原因:img也是inline的,因此img要遵守 行高的构成,img会按照baseline对齐,而 在基线和底线之间 是留有空隙的。
    空隙的大小 视字体大小而定(如果字体大小是12px,那么 缝隙会是3px左右的)
    * 解决方法:将图片的vertial-align设置为bottom即可。

* 把一个元素设为inline-block时,该元素 会水平排列。此时涉及到一种常用的布局方式:inline-block布局

非样式布局 - 背景
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
作为容器底层的铺垫,不影响容器正文的排布。

* 背景颜色(纯色)
* 渐变色背景
* 多背景的叠加
    指定两种渐变色 或 两张不同的图片
* 背景图片的属性(雪碧图)
    雪碧图:把不同素材的图片 集中到同一张图片上,以减少http的请求 
* base64和性能优化
    base64是种文本格式,好处也是 减少了http连接的次数。但是图片体积会增大 大概1/3。因此这种应用场景 一般是小图标。另外 解码base64也是会有 额外开销的。
* 多分辨率的适配

* 背景缩小 用在什么场景呢?
    * width height减半,background-size减半,background-position减半
    做移动端适配时,需要缩小图片

非布局样式 - 边框
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* 边框的属性
    边框形状,边框宽度,颜色
* 使用背景图 作边框
* 边框的构成
    通过三角形的案例,了解边框的构成。
    由于左边框和下边框之间衔接的部分 是采用 斜切的。左右边框设置为透明,内容宽度设置为0
非布局样式 - 滚动
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
什么时候 会产生 滚动?
    内容比容易多的时候。
* 滚动行为 和 滚动条的显示/隐藏
    visible: 内容撑出容器 内容全部显示 
    hidden:超出容器的部分 进行隐藏,不会显示超出的部分
    scroll:内容超出容器后,允许滚动 显示其余部分,滚动条 始终显示
    auto:内容超出容器后,允许滚动 显示其余部分,滚动时 才显示滚动条。如果内容较少时,不显示滚动条。
非布局样式 - 文字折行
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
和 滚动一样,都面临 内容显示不下 的情况。
* 如何控制 换行的行为?是否换行?什么时候 换行?在哪个地方进行换行?
    针对那些东西可以换行?
* overflow-wrap(word-wrap):
    通用的换行控制。实际使用中overflow-wrap的兼容性 不如 word-wrap. 但是overflow-wrap和word-wrap都是指的同一个东西。
    - 是否保留单词:当行尾的单词很长时,如果 保留单词(单词 不换行进行显示),不保留(单词打断 换行进行显示)
* word-break 针对多字节文字(把单词看做一个单位,还是把字母看作一个单位)
    中文的句子 也可以视为 一个单词,从而 以句子为单位 句子不进行换行显示。
* white-space 空白处是否断行。
    如何让一个很长的句子 不换行?
        white-space: nowrap;
非样式布局 - 装饰性属性及其它
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* font-weight: 字重(字的粗细)
* font-style: italic 斜体
* 下划线 text-decoration
* cursor指针
非样式布局 - CSS Hack
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
用来处理特定浏览器的办法,来兼容不同浏览器,在一部分浏览器上生效的css。
* Hack 即是 不合法 但是生效的 css写法
* 主要用于区分不同浏览器

* 缺点:难理解 难维护 易失效

* 替代css hack的方案:检测浏览器是否有 某些特性,没有某些特性时 做针对的处理(针对性的加class)* 怎样用纯css的方式 实现一个美化的checkbox?
    隐藏checkbox,对 和checkbox关联的label 设置背景图片。

* 实现选项卡
CSS面试题
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
* css选择器的优先级
    对选择器作分类,应用不同的权重(权重计算不进位)
    !important 优先级最高
    内联样式 > 外部css表单
    后写的优先级高
* 雪碧图的作用
    把不同的图标合并到一张图上,减少http请求次数 提高页面加载性能。
    如果这些小图标的颜色接近 可以减少 雪碧图的大小。
    利用background属性,和background-size, background-positon,通过background-positon位移 来定位图标位置。
* 自定义字体的使用场景
    利用网络字体,在css中定义,进行字体的引用。
    1. 宣传/品牌/banner等固定文案:因为中文的字体体积非常大,动辄十几M2. 图标字体:把图标做成文字,给他定义成特别的字体,在需要使用的地方 引入该字体。
* base64的使用
    把图片变成文本的一种方式,然后把base64字符串 内嵌到css中 进行使用。
    1. 减少http请求:因为把base64的图片 放到了css中,那么 请求css时 顺带就把base64的图片 给带过来了,所以减少了http请求次数,增加了加载的性能。
    2. 主要适用于小图片:大的图片做成文本 额外增加的体积较大,解码base64花销也较大。
* 伪元素 伪类 的区别
    1. 伪类是表示 一种状态的(比如某元素 处在 鼠标悬停其上的状态hover)2. 伪元素 是真实存在的状态,在页面中是可以显示内容的。
    3. 伪元素使用双冒号,伪类单冒号。由于浏览器兼容性的问题,before after需要写单冒号 或者 单双冒号都要写,因为有些浏览器只接受 单冒号的父元素。
* 如何美化checkbox
    1. 隐藏checkbox
    2.和checkbox关联的label(使用label[for] 和 checkbox[id]) 设置背景图片。
    3. input:checked + label, input + label
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.08.25 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
六. CSS 样式补充之 font & background
font-face可以将服务器中的字体直接提供给用户去使用 问题: 1.加载速度 2.版权 3.字体格式
小海怪的互联网
2020/10/26
2K0
6-css样式
背景图片定位的值可以是应为left,right,top,bottom,center
达达前端
2020/05/18
2K0
CSS
​ repeat-x x轴平铺 ​ repeat-y y轴平铺
用户9603238
2022/03/31
1K0
文本类样式 — 背景、文本、字体
上周我们通过之前讲解的知识点完成了对一个页面的布局操作,实现了页面的一级、二级布局,完成了页面主体框架的搭建。但是细心的你应该会发现,我们做出来的网页与网页PSD图(设计图)还有很大差距,也就是说我们
HTML5学堂
2018/03/13
2.7K0
文本类样式 — 背景、文本、字体
css样式大全
字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX、PD 样式 {font-style: oblique;}(偏斜体) italic;(斜体) normal;(正常) 行高 {line-height: normal;}(正常) 单位:PX、PD、EM 粗细 {font-weight: bold;}(粗体) lighter;(细体) normal;(正常) 变体 {font-variant: small-c
程序员互动联盟
2018/03/16
4.6K0
HTML/CSS,说点你可能不知道的技巧
编写插件需要使用图片资源又不适合直接引入时使用base64图片编码进css或js插件
用户5997198
2019/08/12
1.2K0
HTML/CSS,说点你可能不知道的技巧
CSS笔记
link rel=”stylesheet” href=”文件名” margin:0px auto;(块级元素居中)和width:的组合 写2个数:第一个代表上下,第二个代表左右 写3个数:第一个代表上,第二个代表左右,第三个下 写4个数:上,右,下,左 text-align:center;(行级元素居中) list-style:none (去除符号) clear:both(去除浮动) overflow:hidden;(超过大小就不显示) overflow:scroll 滚动条 border:none;outline:none;去除按钮边框
小城故事
2023/02/27
8250
【Web前端】借助文本样式为网页赋予生命
CSS 中的字体属性定义了文本的外观,包括字体的类型、大小、粗细等。我们来详细了解这些属性:
一条晒干的咸鱼
2024/11/19
1170
【Web前端】借助文本样式为网页赋予生命
前端面试题归类-css
网页看着不方便,想要文档可以私聊我。要是有错别字和错误的地方,请各位大佬直接指出,谢谢啦!!
肥晨
2023/02/16
1.8K0
CSS 入门指南:轻松掌握网页布局与样式设计的艺术
CSS(Cascading Style Sheets,层叠样式表)是一种用于为HTML元素添加样式的语言。CSS决定了页面上元素的外观:颜色、字体、布局等。
方才编程_公众号同名
2024/09/24
3910
CSS 入门指南:轻松掌握网页布局与样式设计的艺术
「学习笔记」CSS基础
「3. CSS」CSS(Cascading Style Sheets)通常称为CSS样式表或层叠样式表(级联样式表)。
小城故事
2023/03/10
3.3K0
分享100 个鲜为人知的 CSS 技巧
金三银四找工作的旺季来了,在过去的一段时间里,我花了很多时间将之前的一些基础知识做了整理,希望这些内容能够帮助你在面试的时候,稍微顺利一些。因此,我将整理好的这 100 个 CSS 知识技巧分享给你,希望你会觉得太对你有用。
前端达人
2024/03/11
4270
分享100 个鲜为人知的 CSS 技巧
css笔记
从HTML被发明开始,样式就以各种形式存在。不同的浏览器结合它们各自的样式语言为用户提供页面效果的控制。最初的HTML只包含很少的显示属性。 随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加,HTML变的越来越杂乱,而且HTML页面也越来越臃肿。于是CSS便生了。
用户6362579
2019/09/29
7.9K0
css笔记
适合收藏,一些CSS优化技巧!
当各种框架以及复杂的 JS 知识开始充斥着我们的工作环境时。谁还能够记得,以 CSS 来构建更加良好的用户体验,也是前端的一个重要组成部分。 所以说,今天咱们就来看看 css 的优化方案-终极合集。一共一百条,有点多,适合收藏
老K博客
2024/03/10
4600
css基础系列
border边框,margin外边距,padding内部距,content内容,width宽度。
达达前端
2019/07/03
1.8K0
css基础系列
css3系列-2.css中常见的样式属性和值
如果你是新手的话可能对盒子模型,外边距内边距都不熟悉,这一部分内容在学的时候相对来说比较吃力!如果有问题可以私聊或者留言评论给我,我帮你解决哦!
全栈学习笔记
2022/03/31
1.4K0
前端复习:CSS专题3
1 行高和字号 1.1 行高 CSS中,所有的行,都有行高。盒模型的padding,绝对不是直接作用在文字上的,而是作用在“行”上。 line-height: 40px; 文字,是在自己的行里面居
py3study
2020/01/13
8870
面试题必备-web页面基础
html标签是由<>包围的关键词 html标签是成对出现的 有部分标签是没有结束标签的,叫单标签, 页面中所有的内容,都是要放在HTML标签中的
达达前端
2019/11/21
2.6K0
Css详细介绍
(就近原则): !important > id > class > tag (!important 比内联优先级高)
FGGIT
2024/10/15
1890
前端面试题2(CSS)
对BFC规范(块级格式化上下文:block formatting context)的理解?
keyWords
2018/09/19
3K0
相关推荐
六. CSS 样式补充之 font & background
更多 >
LV.0
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验