天天看点

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

第三章 CSS基础

  • 一、CSS基础
    • 1.1、基本规则
    • 1.2、选择器
      • 1.2.1、选择器分类
      • 1.2.2、选择器权重
      • 1.2.3、其他的优先级
    • 1.3、非布局样式(字体)
      • 1.3.1、多字体fallback
      • 1.3.2、网络字体、自定义字体
      • 1.3.3、iconFont
    • 1.4、非布局样式(行高)
      • 1.4.1、行高的构成
    • 1.5、非布局样式(背景)
      • 1.5.1、背景颜色
      • 1.5.2、渐变色背景
      • 1.5.3、多背景叠加
      • 1.5.4、背景图片的属性和雪碧图
      • 1.5.5、多分辨率适配
      • 1.5.6、Base64
    • 1.6、非布局样式(边框)
      • 1.6.1、边框属性
      • 1.6.2、边框背景图
      • 1.6.3、边框衔接
    • 1.7、非布局样式(滚动)
    • 1.8、非布局样式(文字折行)
    • 1.9、非布局样式(装饰性属性及其它)
    • 1.10、hack和案例(兼容性问题)
      • 1.10.1、hack简介
      • 1.10.2、hack案例
    • 1.11、面试

一、CSS基础

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.1、基本规则

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.2、选择器

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.2.1、选择器分类

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.2.2、选择器权重

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

id选择器的权重是最高的,不会因为类选择器的增加而超过id选择器的权重,即如果有11个类,那么计算权重和110,实际是不会进位的,也就是说其他选择器的权重和不会超过id选择器。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.2.3、其他的优先级

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.3、非布局样式(字体)

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.3.1、多字体fallback

如下图所示,当配置了多种字体的情况下,浏览器会从左往右去给每个字符加载对应的字体。如果找不到就会找后面一个字体,如果都找不到,则会加载浏览器默认的字体。不同的设备或者平台所对应的字体也不相同。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.3.2、网络字体、自定义字体

网络字体,在指定一个远程地址的情况下。如果出现跨域,一定要让对方服务器出具COIS的头,也就是允许跨域。

自定义字体,如下

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.3.3、iconFont

阿里Icon Font矢量图标库

进入网页后,可以将鼠标移动到图标上,然后点击加入到购物车

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

然后点击右上角的购物车图标,将图标加入到项目中。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

可以点击下载到本地,将图标库下载下来。然后作为图标子图,具体的使用方式,

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

下载后,将解压包打开,打开如下图所示的html。里面有使用的教程。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.4、非布局样式(行高)

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.4.1、行高的构成

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

外层的高度是由line-height决定的。由于内层的inline-box组成了一个line-box;line-box的高度是由第三个inline-box的line-height撑起来的。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

上图中的蓝色字体部分是垂直居中的,这是由于line-height的原因。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

上图中的三个字段,默认是按照基线对齐的。如果要让他居中则可以给每个字段设置vertical-align:middle;则可以居中对齐了。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

同时你也可以设置顶线对齐或者底线对齐。vertical-align:top / bottom;

图片的3px问题

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

在上面的div中有一个span和一个img。原因是img也是一个inline的,这样我们只要修改对齐的方式,改为按底线对齐;

同样我们也可以修改img的类型,改为block。

1.5、非布局样式(背景)

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.5.1、背景颜色

背景颜色的表示方式有很多种,可以直接在background:后面添加 white这样的大家都周知的颜色名词;也可以添加十六进制的颜色值。还可以通过hsl或者hsla来表示。同样也可以使用rgb或者rgba来表示颜色。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.5.2、渐变色背景

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.5.3、多背景叠加

下面,使用background的多背景叠加和background-size:30px; 30px;实现一个网格效果。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.5.4、背景图片的属性和雪碧图

基本属性如下图

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

雪碧图

原图如下

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

如下图设置后

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.5.5、多分辨率适配

在高分辨率下,可以使用高分辨率的图做小之后使用,比如一个图是500px*400px的,那么可以设置background-size:250px 200px;减小一般,然后使得显示的时候相对清楚。

1.5.6、Base64

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

这里图片会增大为原图大小的3/4;如果放到css文件中的话,会导致css文件本身会变大。同样浏览器对base64解码的时候也会产生开销。

1.6、非布局样式(边框)

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.6.1、边框属性

设置一个宽5px,虚线,红色的边框;

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.6.2、边框背景图

边框图

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

使用边框图设置边框,repeat属性会出现下图红色框的问题。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

调整后,解决上面的问题。

.c2{
    width:400px;
    height: 200px;
     /*border-width: 30px;*/
     /* transparent是全透明黑色(black)的速记法,即一个类似rgba(0,0,0,0)这样的值。 */
    border:30px solid transparent;
    border-image:url(./border.png) 30 round;
}
           
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.6.3、边框衔接

.c3{
    width:400px;
    height: 200px;
    border-bottom:30px solid red;
    /* border-right:30px solid blue; */
    border-left:30px solid transparent;
    border-right:30px solid transparent;
}
           
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

这个可以用来实现三角形

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

添加border-radius属性后可以变成一个扇形。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.7、非布局样式(滚动)

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
.c1{
    background:red;
    height:200px;
    /*auto hidden overflow*/
    overflow: auto;
}
           

1.8、非布局样式(文字折行)

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

默认分了三部分,一部分是一个英文的句子,一部分是一个超长的单词,另一部分是一句中文句子。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

如果要把单词放到这个div中,那么可以设置红色框中的属性。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

将整个英文句子折行。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.9、非布局样式(装饰性属性及其它)

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

font-weight:+ 数字的情况时,数字范围支持100-900,但是不是所有浏览器或者字体都支持这些,有些可能到700之后就不会出现样式上的修改了。

1.10、hack和案例(兼容性问题)

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.10.1、hack简介

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

hack属性需要写到后面,因为后写的会有效。

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.10.2、hack案例

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础

1.11、面试

【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础
【全面系统讲解CSS】学习笔记-第三章 CSS基础一、CSS基础