CSS知识点汇总(四)

news/2025/1/12 1:59:08/

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即可


http://www.ppmy.cn/news/689311.html

相关文章

springboot+基于微信小程序音乐播放器的设计与实现 毕业设计-附源码271156

Springboot音乐播放小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的音乐播放器&#xff0c;系统为人们提供了方便快捷、即用即搜的音乐搜索播放服务&#xff0c;包括音乐资讯、音乐库推荐、交流论坛、注册登录、最近播放列表功能等&#xff0c;用户不仅能够方便快捷地…

SSH的在线音乐下载网站-JAVA【数据库设计、源码、开题报告】

基于JSP在线音乐网站的设计与实现 学生姓名&#xff1a; 指导教师&#xff1a; 内容提要&#xff1a;本系统 是在eclipse 平台上运用JSP技术来实现的。其主要功能有&#xff1a;&#xff0c;首页&#xff0c;音乐下载界面&#xff0c;登陆界面&#xff0c;查看系统属性&am…

Nacos 1.4.x 服务发现源码阅读

客户端 关键属性 HostReactor Map<String, ScheduledFuture<?>> futureMap&#xff1a;缓存向服务端请求ServiceInfo的定时任务Map<String, ServiceInfo> serviceInfoMap&#xff1a;缓存从服务端获取的Service信息Map<String, Object> updatingMa…

2017年最全的电子杂志制作教程都在这里了

本文收集了2017年最全的电子杂志制作(www.yazine.com)教程供大家参考使用! 一、IEBOOK电子杂志制作

SSM+微信小程序网易云音乐设计与实现 毕业设计-附源码261620

基于SSM微信小程序的网易云音乐 摘 要 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;微信小程序的网易云音乐系…

(附源码)springboot音乐播放器小程序 毕业设计 170900

Springboot音乐播放器小程序 摘 要 本文设计了一种音乐播放器小程序&#xff0c;系统为人们提供了方便快捷、即用即搜的音乐搜索播放服务&#xff0c;包括音乐资讯、音乐搜索、新歌榜单、注册登录、论坛发表等&#xff0c;用户不仅能够方便快捷地查看资讯、还能搜索自己喜爱的音…

springboot+音乐播放小程序 毕业设计-附源码191730

Springboot音乐播放小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的音乐播放器&#xff0c;系统为人们提供了方便快捷、即用即搜的音乐搜索播放服务&#xff0c;包括音乐资讯、音乐搜索、新歌榜单、注册登录、论坛发表等&#xff0c;用户不仅能够方便快捷地查看资讯、…

基于微信小程序音乐播放器的设计与实现毕业设计源码271156

Springboot音乐播放小程序的设计与实现 摘 要 本文设计了一种基于微信小程序的音乐播放器&#xff0c;系统为人们提供了方便快捷、即用即搜的音乐搜索播放服务&#xff0c;包括音乐资讯、音乐库推荐、交流论坛、注册登录、最近播放列表功能等&#xff0c;用户不仅能够方便快捷地…