CSS 2020

CSS三大知识点

  • 盒子模型
  • 浮动
  • 定位

标签显示模式

  • 块级元素 block-level 常见元素(div ) 宽度 默认100% 高度为0

    • 独自占一行
    • 宽度,高度、外边距以及内边距都可以控制
    • 宽度默认100%
    • 是一个容器盒子,里面可以放行内元素或者块元素
  • 行内元素 inline-level 常用(span)

    • 一行可以显示多个
    • 高宽设置无效
    • 行内元素只能容纳行内元素或文本
    • 默认宽度就是它本身内容的宽度
  • 行内块元素 inline-block (input img)

    • 中间有白色缝隙

    • 和相邻元素放置一行,一行可以显示多个

    • 默认宽度就是本身内容的宽度

    • 宽度,高度、外边距以及内边距都可以控制

标签显示模式转换 display

  • 块转行内 display:inline
  • 行内转块 display:block
  • 块 行内转行内块 display:inline-block

CSS布局方式

  • 普通流

    // 就是默认布局 块级元素自上而下,行内元素自左到右
    display:block;
    display:inline
    

浮动

  • 脱离标准流 / 浮动在标准流的上方 / 不占用标准流的位置

  • 移动到指定位置

  • 让多个盒子水平排成一行

  • 实现盒子左右对齐

  • 实现文字围绕图片效果

// 特 浮动特性:默认相当于行内块 display:inline-block 
// 多个浮动元素的话 自左向右 一次排开 一行显示不下 就另起一行显示
float:left/right

// 使用时 建议使用父布局包裹 父布局处于标准流
* {
    margin:0,
    padding:0
}

浮动元素与父盒子的关系

  • 子盒子的浮动参照父盒子对齐
  • 不会与盒子的边框重叠,也不会超过父盒子的内边距

浮动元素与兄弟盒子的关系

  • 浮动只会影响后面的盒子,不会影响钱前边的盒子
  • 如果一个盒子里面,有一个盒子浮动了,建议其他盒子全浮动

清除浮动本质

  • 父级没高度 && 子盒子浮动 && 影响下面布局 就需要清除浮动了

  • 清除浮动主要为了解决父级元素因为子级元素浮动引起的高度为0的问题,清除浮动后,父级会根据浮动的子盒子自动检测高度,父级有了高度,就不会影响下面的标准流了。

  • 子元素浮动后,不属于标准流,所以父元素的高度为0

1. 选择器 { clear:属性值} clear 清除 / left / right / both 
2. 父级增加 overflow 为 hidden | auto | scroll 都可以实现

CSS属性书写顺序

样式书写顺序

  • 布局定位属性 display position float
  • 自身属性 width margin padding border
  • 文本属性 color font text-align
  • 其他属性 content cursor border-radius

定位

将盒子定位,标准流在最底层,浮动的盒子在中间层,定位的盒子在最上层

  • 定位 = 定位模式(static relative absolute fixed) + 边偏移(top bottom left right)

static 静态定位

  • 静态定位是元素的默认定位方式 从来不用 标准流就是
  • 标准流的子盒子总是以父盒子为准

relative 相对定位

  • 相对于原来在标准流的位置 进行移动
  • 原来在标准流的区域继续占有,后面的盒子依然以标准流的方式对待它

absolute 绝对定位

  • 绝对位置是元素以带有定位的父级元素来移动位置
  • 如果父级有定位,那么以父级为准进行定位,一级一级往上找
  • 如果父级没有定位,那么以浏览器为准进行定位
  • 不保留原来的位置(标准流的位置)
  • 子级使用绝对定位 父级使用相对定位 日常固定搭配

flxed 固定定位

  • 完全脱标 完全不占位置

定位改变display属性

  • 使用dispaly:inline-block 转换为行内块
  • 使用浮动float默认转为行内块
  • 绝对定位和固定定位也和浮动类似,可以转为行内块儿

垂直外边距

  • 浮动元素、绝对定位的元素 都不会触发外边距问题

    定位模式 是否脱标 移动位置基准 模式转换(行内块) 使用情况
    相对定位relative 不脱标,占位位置 相对自身位置移动 不能 基本单独使用
    绝对定位absolute 完全脱标,不占有位置 相对于定位父级移动位置 要和定位父级元素配合使用
    固定定位fixed 完全脱标 相对于浏览器的移动位置 单独使用,不需要父级

    注意

    • 边偏移需要和定位模式配合使用
    • top和bottom不要同时使用
    • left和right不要同时使用

CSS高级技巧

元素的显示和隐藏

  • display:none 隐藏元素 不占有位置

  • display:blocl 显示元素

  • visibility: hiddin 隐藏 依然占有位置

  • visibility: visible 显示元素

  • overflow 溢出

    • visible 显示
    • hidden 溢出隐藏(超出部分隐藏)
    • scroll 不管超出内容与否 总会显示滚动条
    • auto 超出自动显示滚动条,不超出不显示滚动条
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,490评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,581评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,830评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,957评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,974评论 6 393
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,754评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,464评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,357评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,847评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,995评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,137评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,819评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,482评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,023评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,149评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,409评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,086评论 2 355