css知识总结

简介: css知识总结

查看浏览器是否支持某个样式


Border调试法用来调试哪个地方的样式出现了错误

使用方法:怀疑那个元素出现了问题就在此元素的附近添加border,观察是否出现了预期的效果,定位出错元素的位置


css常见错误


  • 选择器拼写错误
  • 属性名拼写错误
  • 属性值拼写错误
  • 大小写错误
  • 没写分号
  • 中文冒号
  • 没写反花括号
  • 没加单位


查资料的方式


  • 搜索 关键词时加 MDN ,比如:float mdn
  • 搜索 css tricks
  • 搜索css大牛 张鑫旭的博客


练习素材


  • psd文件切图素材
  • 365PSD的UI套件


重要概念


  • 文档流:就是文档流动的方向


inline元素从左到右,到达最右边才会换行;宽度为内部inline元素的和,不能用width指定,高度由line-height间接确定,跟height无关

block元素从上到下,每一个都另起一行;block默认自动计算宽度,可用width指定,高度由内部文档流元素决定,可以设height

inline-block也是从左到右;inline-block结合前两者特点,可用width,和block一样也可设置高度


  • 脱离文档流:可以控制元素不在文档流中,不按照文档流的规则进行布局,脱离文档流的方法有:

         float:left | right;进行左浮动或者右浮动

         使用psoition进行定位


  • overflow溢出:当内容的宽度或高度大于容器时,内容会超出容器

     利用overflow设置属性值:hidde是超出部分隐藏,auto是灵活设置


  • 盒模型

    content-box内容盒模型:宽度=内容的宽度,如果后期添加了border或padding就会     使盒子向外扩张

    border-box边框盒模型:设置的宽度就等于=内容宽度+padding+border;添加的padding和border就在原先设置的width里

image.png

  • margin合并问题:父子盒子和兄弟盒子的margin会出现重叠部分解决办法:

父子合并用padding/border挡住

父子合并用overflow:hidden挡住

父子合并用display:flex

兄弟合并可以用inline-block消除


布局


布局就是把页面分成区域,按照左中右,或者上中下等


float布局:


就是在子元素上加上float:left | right;

一定要在父元素上加上clearfix清除浮动

```css
.clearfix::after {
        content: '';
        display: block;
        clear: both;
    }
```

IE6/7存在双倍margin的bug,解决方法就是

  • 方法一:把margin减半,margin前面要加_

 

_margin:减半;
  • 方法二:添加一个display:inline-block;


flex布局


flex规定了弹性元素如何伸长或缩短以适应flex容器中的可用空间

首先先让一个元素变成flex容器

.container{
        display:flex;
    }

flex-direction 属性指定了内部元素是如何在 flex 容器中布局的,定义了主轴的方向(正方向或反方向)。

有关flex详细图文教程

这个小游戏能够快速的帮助你学习flex布局


grid布局


有关grid 布局请看我的另一篇文章grid布局粗略使用方法

这一片使详细的图文教程 grid的用法详细信息

这个小游戏能够帮助你快速学习grid布局


定位position


分层:div是有分层的,文字高于边框高于背景

微信图片_20230106143329.png

position就是让元素脱离文档流


浏览器的渲染过程


浏览器渲染的过程主要包括以下五步:


  • 浏览器将获取的HTML文档解析成DOM树。
  • 处理CSS标记,构成层叠样式表模型CSSOM(CSS Object Model)。构建css树
  • 将DOM和CSSOM合并为渲染树(rendering tree),代表一系列将被渲染的对象。
  • 渲染树的每个元素包含的内容都是计算过的,它被称之为布局layout。(文档流、盒模型、计算大小和位置)
  • 将渲染树的各个节点绘制到屏幕上,这一步被称为绘制painting。(把边框颜色、文字颜色、阴影等画出来)


最后进行Compose合成,根据层叠关系展示画面

微信图片_20230106143444.png

当元素改变或者样式改变时,页面会进行更新,更新方式也有三种

微信图片_20230106143518.png

如果移除某个元素,页面会进行从新布局,他就进行第一种更新方式

如果只改变背景颜色修改文字大小等,会进行第二种更新方式,会不重新布局,跳过了layout,直接进行绘制和合成

如果有元素进行transfrom进行动画改变位置,就会进行第三种更新,直接合成


两种动画的做法


第一种transation


transfrom通过位移变形进行改变元素的位置

  • 四个常用功能

位移translate

缩放scale

旋转rotate

倾斜skew


一般都需要配合transition过渡inline元素不支持transform ,需要先变成block

transation是控制动画移动的方式,时间。

案例:鼠标经过让盒子在1s内向右移动100像素


//

.div{
  width: 100px;
  height: 100px;
  margin:100px;
  border:1px solid red;
  transition:all 1s;
}
.div:hover{
    transform:translateX(100px);
}


第二种方式是animation


通过@keyframs控制移动的元素位置


///

@keyframs 动画名{
    0%{
        位置和形状
    }
    20%{
        位置和形状2
    }
    ......
}

复制代码通过animation来调用动画

 

animation:时长|过渡方式|延迟|次数|方向|填充模式|是否暂停|动画名;

css的知识还有很多,不会时可以查阅mdn文档

下图是我学习css的思维导图

微信图片_20230106143823.jpg



目录
相关文章
|
移动开发 HTML5
HTML5 + CSS3 总结 - 知识框架 思维导图
HTML5 + CSS3 总结 - 知识框架 思维导图
392 0
HTML5 + CSS3 总结 - 知识框架 思维导图
|
前端开发 容器
CSS总结
CSS总结
247 0
|
前端开发
学习CSS的简单总结(2)
在"学习CSS的简单总结(1)" 里总结了怎样使用css。 本文是总结一下具体的使用。CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明。 最常见的 CSS 选择器是元素选择器。
280 0
学习CSS的简单总结(2)
|
数据采集 XML 前端开发
学习CSS的简单总结(1)
记录:CSS是什么;CSS三种方法的使用;CSS简单举例;推荐使用外部样式。
340 0
学习CSS的简单总结(1)
|
人工智能 前端开发 容器
CSS入门到进阶知识总结(二)
CSS入门到进阶知识总结(二)
CSS入门到进阶知识总结(二)
|
前端开发 安全 JavaScript
|
前端开发
CSS水平居中+垂直居中+水平/垂直居中的方法总结
CSS水平居中+垂直居中+水平/垂直居中的方法总结
405 0
CSS水平居中+垂直居中+水平/垂直居中的方法总结
|
前端开发 UED
CSS3的3D相关属性总结
项目中遇到微交互、增加页面用户体验的需求,运用CSS3的transform变化的3D属性就可以达到效果。
350 0
CSS3的3D相关属性总结
|
前端开发 JavaScript
CSS3动画相关属性的总结
W3C 的解释:CSS Transitions allows property changes in CSS values to occur smoothly over a specified duration. 即:在改变元素css属性值时,transition可以让这个改变在自己指定时间里平滑的进行。
217 0

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    536
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    417
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    412
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    268
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    525
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    704
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1288
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    299
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1075
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    489