【CSS全解】CSS基础

97 阅读3分钟

体系化学习

  • 学一门语言必须学会什么

1.语法(怎么写代码)

2.如何调试(怎么知道自己的代码写错了)

3.在哪查资料(就是为了抄代码)

4.标准制定者是谁

  • 如何学

1.copy - 抄文档、抄老师

2.Run - 放在自己的机器上运行成功

3.Modify - 加入一点自己的想法,然后重新运行。

CSS文档搜索(css spec)

css语法

  • 语法一:样式语法

选择器{

属性名:属性值; /注释/

}

  • 注意事项
  1. 所有符号都是英文符号,如果写错了,浏览器会警告
  2. 区分大小写,a和A是不同的东西
  3. 没有//注释
  4. 最后一个分号可以省略,但是不建议省略
  5. 任何地方写错了,都不会报错,浏览器会直接忽略
  • 语法二:at语法
@charset "UTF-8";
@import url(2.css);
@media (min-width: 100px) and (max-width: 200px ){
语法一
}
  • 注意事项
  1. @chartset 必须放在第一行
  2. 前两个at 语法必须以分号;结尾
  3. @media 语法会单独教学
  4. charset 是字符集的意思,但UFT-8 是字符编码encodin ,这是历史遗留问题
  • border调试法
  • 步骤
  1. 怀疑某个元素有问题
  2. 就给这个元素加个border
  3. border没出现?说明选择器错了或者语法错了
  4. border出现了? 看看边界是否符合预期
  5. bug解决了才可以把border删掉
  • 记住 CSS的border 调试法 就相当于js的log调试法

文档流

  • 流动方向
  1. inline元素从左到右,到达最右边才会换行(到达最后会拆分)
  2. block元素从上到下,每一个都另起一行
  3. line-block也是从左到右(到达最后的时候不会把自己拆分,一定是一个完整的块元素)
  • 宽度
  1. inline宽度为内部inline元素的和,不能用width指定(行内元素不能设置宽度)
  2. block 默认自动计算宽度,可用width指定(默认auto宽度)
  3. inline-block 结合前两者特点,可用width(默认和inline一样,但是可以设置宽度)
  • 高度
  1. inline 高度由line-height间接确定,跟height无关
  2. block高度由内部文档流元素决定,可以设height
  3. inline-block 跟block类似,可以设置height

css里面尽量不要写 style="width:100%"因为这样写的话宽度占到100后还要加上2像素border宽度。

  • overflow文字溢出部分 等内容的宽度或高度大于容器的,会溢出
  1. 可用overflow来设置是否显示滚动条
  2. visible 默认样式
  3. hidden 超出部分隐藏
  4. scroll 滚动条(不超出也有)是永远显示
  5. auto 自动,灵活设置

盒模型

  • 请介绍一下盒模型?
  • 盒模型一共分两种,一种是content-box,另一种是border-box;两种区别是,content-box的宽度只包含内容content,border-box包含到border分别是border内边距和内容。

公式:

content-box width:内容宽度

border-box width:内容宽度+padding+border