CSS知识点汇总(四)

这篇具有很好参考价值的文章主要介绍了CSS知识点汇总(四)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. CSS优化方法

  • 避免过度约束
  • 避免后代选择符
  • 避免链式选择符
  • 使用紧凑的语法
  • 避免不必要的命名空间
  • 避免不必要的重复
  • 最好使用表示语义的名字。
  • 避免!important,可以选择其他选择器
  • 尽可能的精简规则,合并不同类里的重复规则

2. css sprite 是什么? 有什么优缺点

1. 概念:

将多个小图片拼接到一个图片中。通过 background-position 和元素尺寸调节需要显示的背景图案。

其实就是把网页中一些背景图片整合到一张图片文件中,再利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字能精确的定位出背景图片的位置。这样可以减少很多图片请求的开销,因为请求耗时比较长;请求虽然可以并发,但是也有限制,一般浏览器都是6个。对于未来而言,就不需要这样做了,因为有了http2。

2. 优点:
  • 减少 HTTP 请求数,极大地提高页面加载速度。
  • 增加图片信息重复度,提高压缩比,减少图片大小。
  • 更换风格方便,只需在一张或几张图片上修改颜色或样式即可实现。
3. 缺点:
  • 图片合并麻烦。
  • 维护麻烦,修改一个图片可能需要从新布局整个图片,样式。

3. 如何垂直居中一个元素?

方法一:绝对定位居中(原始版之已知元素的高宽)

.content {
    width: 100px;
    height: 100px;
    background-color: #6600ff;
    position: absolute;
    /*父元素需要相对定位*/
    top: 50%;
    left: 50%;
    margin-top: -50px;
    /*设为高度的1/2*/
    margin-left: -50px;
    /*设为宽度的1/2*/
}

方法二:flex 布局居中

body {
    display: flex;
    /*设置外层盒子display为flex*/
    align-items: center;
    /*设置内层盒子的垂直居中*/
    justify-content: center;

    /*设置内层盒子的水平居中*/
    .content {
        width: 100px;
        height: 100px;
        background-color: #6600ff;
    }
}

方法三:绝对定位居中(改进版之二未知元素的高宽)

.content {
    width: 100px;
    height: 100px;
    background-color: #6600ff;
    margin: auto;
    /*很关键的一步*/
    position: absolute;
    /*父元素需要相对定位*/
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    /*让四个定位属性都为0*/
}

方法四:绝对定位居中(改进版之一未知元素的高宽)

.content {
    width: 100px;
    height: 100px;
    background-color: #6600ff;
    position: absolute;
    /*父元素需要相对定位*/
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /*在水平和垂直方向上各偏移-50%*/
}

4. li 与 li 之间看不见的空白间隔是什么原因引起的?解决办法是?

浏览器的默认行为是把 inline 元素间的空白字符(空格换行 tab)渲染成一个空格,也就是我们上面的代码<li>换行后会产生换行字符,而它会变成一个空格,当然空格就占用一个字符的宽度。

解决方案:
方法一:既然是因为 <li> 换行导致的,那就可以将<li>代码全部写在一排,如下

<div class="wrap">
    <h3>li标签空白测试</h3>
    <ul>
        <li class="part1"></li>
        <li class="part2"></li>
        <li class="part3"></li>
        <li class="part4"></li>
    </ul>
</div>

方法二:为了代码美观以及方便修改,不可能将 <li> 全部写在一排,空格占一个字符的宽度,直接将<ul> 内的字符尺寸设为 0,将下面样式放入样式表,就可以解决了.,但是<ul> 中的其他文字就不见了,因为其尺寸被设为 0px ,只能重新设定字符尺寸。

.box ul {
    font-size: 0px;
}

方法三:将 li 父级标签字符设置为 0 在 Safari 浏览器依旧出现间隔空白;将下面代码替换方法二的代码,目前看来可以解决。但 li 内的字符间隔也会被设置,需要将 li 内的字符间隔设为默认。

.wrap ul {
    letter-spacing: -5px;
}
设置 li 内字符间隔
.wrap ul li {
    letter-spacing: normal;
}

5. PNG, GIF, JPG 的区别及如何选

  1. GIF:

    • 256 色
    • 无损,编辑 保存时候,不会损失。
    • 支持简单动画。
    • 支持 boolean 透明,完全透明/不透明
  2. JPEG:

    • millions of colors
    • 有损压缩, 意味着每次编辑都会失去质量。
    • 不支持透明。
    • 适合照片,实际上很多相机使用的都是这个格式。
  3. PNG:

    • 无损,其实 PNG 有好几种格式的,一般分为两类:PNG8 和 truecolor PNGs;

    与 GIF 相比:

    • 它通常会产生较小的文件大小。
    • 它支持阿尔法(变量)透明度。
    • 无动画支持

    与 JPEG 相比:

    • 无损
    • 文件更大
    • 因此可以作为 JPEG 图片中间编辑的中转格式。

结论:

  • JPEG 适合照片
  • GIF 适合动画
  • PNG 适合其他任何种类—图表,buttons,背景,图表等。

6. 行内元素 float:left 后是否变为块级元素?

行内元素设置成浮动之后变得像 inline-block
行内块级元素,设置成这个属性的元素会同时拥有行内和块级的特性,最明显的不同是它的默认宽度不是 100%,行内元素默认 100%宽度占据一行
给行内元素设置 padding-top padding-bottom 或者 width、height即可文章来源地址https://www.toymoban.com/news/detail-515558.html

到了这里,关于CSS知识点汇总(四)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android 开发必备知识点及面试题汇总(Android+Java+算法+性能优化+四大组件……),腾讯安卓开发面试

    5.请介绍下 AsyncTask的内部实现,适用的场景是 AsyncTask 内部也是 Handler 机制来完成的,只不过 Android 提供了执行框架来提供线程池来 执行相应地任务,因为线程池的大小问题,所以 AsyncTask 只应该用来执行耗时时间较短的任务, 比如 HTTP 请求,大规模的下载和数据库的更改不

    2024年04月15日
    浏览(64)
  • Mysql知识点汇总

    select distinct 列名 from 表名 where 查询条件表达式 group by 分组的列名 having 分组后的查询条件表达式 order by 排序的列名 ascdesc 升序降序 limit 查询的记录条数 每门课程大于80分——》最低分不小于80分 order by: 用于排序,默认是升序排序 后面用用asc或者desc order by 后面跟

    2024年02月19日
    浏览(39)
  • ospf知识点汇总

    OSPF : 开放式最短路径优先协议 使用范围:IGP 协议算法特点: 链路状态型路由协议,SPF算法 协议是否传递网络掩码:传递网络掩码 协议封装:基于IP协议封装,协议号为 89 一.OSPF 特点 1.OSPF 是一种典型的链路状态型路由协议 2.传递信息称作LSA,LSA 链路状态通告,包含路由

    2024年02月09日
    浏览(40)
  • Vue知识点汇总【持更】

    目录 1 vue的两个特性 1.1 数据驱动视图 1.2 双向数据绑定  2 MVVM工作原理 3 vue 的指令 3.1 内容渲染指令 3.2 属性绑定指令 3.3 事件绑定指令 3.4 事件修饰符  3.5 按钮修饰符 3.6 双向数据绑定指令 3.7 条件渲染指令 3.8 列表渲染指令  4 vue 的生命周期和生命周期函数  4.1 生命

    2024年02月15日
    浏览(39)
  • JVM知识点汇总(2)

    目录 一. 垃圾回收的优点和原理. 并考虑两种回收机制 二. 垃圾回收器的基本原理是什么? 垃圾回收器可以马上回收内存吗? 有什么办法主动通知虚拟机进行垃圾回收? 三. Java 中会存在内存泄露嘛? 请简单描述 四.Ststem.gc() 和 Runtime.gc() 会做什么事情 五. finalize() 方法是什么时候

    2024年02月12日
    浏览(74)
  • C语言知识点汇总

    C语言知识点保姆级总结,这不得进你的收藏夹吃灰?! 拖了很久的C语言所学知识的简单小结,内容有点多,第一次总结也可能有错误或者不全面,欢迎随时补充说明! ​ 用不同数据类型所定义的变量所占空间大小不一样,定义的变量不是保存于数据类型中,而是因为只有

    2024年01月23日
    浏览(51)
  • react知识点汇总一

    以下是一些React中经典的知识点: React是一个由Facebook开发的UI框架,用于构建单页面应用程序。它的特点和优势包括: 组件化 :React的应用程序主要由多个组件组成,每个组件都封装了自己的逻辑和状态,使得代码结构更加清晰。 虚拟DOM :React使用虚拟DOM来提高渲染效率和

    2024年02月10日
    浏览(126)
  • iOS练手项目知识点汇总

    Objective-C是一种面向对象的编程语言,它支持元编程。元编程是指编写程序来生成或操纵其他程序的技术。 Objective-C中,元编程可以使用Objective-C的动态特性来实现。例如可以使用Objective-C的运行时函数来动态地创建类、添加属性和方法等等。 Objective-C是一种动态编程语言,它

    2024年02月10日
    浏览(57)
  • 系统分析师知识点汇总

    目录 1.计算机组成 1.1计算机组成与分类 1.1.1计算机的组成 1.2.1主存储器(内存) 1.2.2辅助存储器(外存磁盘如硬盘) 1.2.3Cache缓存 1.3输入输出接口 1.3.1输入输出方式 1.3.2总线和接口 1.4各种体系结构 1.4.2流水线技术 1.4.3并行处理 1.4.4互联网络 2.操作系统 2.1操作系统的类型与结

    2023年04月08日
    浏览(96)
  • 计算机基础知识点汇总

    1、指令是指示计算机执行某种操作的命令,包括操作码和地址码两部分。 2、目前常见的指令系统有复杂指令系统(CISC)和精简指令系统(RISC)。 3、计算机的工作过程:取指令、分析指令、执行指令。 4、未配置任何软件的计算机叫裸机,注意不是指安装过操作系统的计算

    2024年02月10日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包