css基础知识

简介: css基础知识

1、盒子模型


盒子模型分为 : 标准盒子模型 、IE盒子模型


  • 标准盒子模型
  • 盒子宽度(width)= 内容(content)的宽度
  • 总宽度为:盒子宽度(width)+内边距(padding)+边框(border)+ 外边距(margin)


  • IE盒子模型,也叫作怪异盒子模型
  • 盒子宽度(width)= 内容(content)+ 内边距(padding)+边框(border)的宽度
  • 总宽度为:盒子宽度(width)+ 外边距(margin)


2、box-sizing属性


  • 用来控制元素的盒子模型的解析器,默认为:content-box(W3C标准的盒子模型)
  • content-box:W3C标准的盒子模型,设置宽高为内容(content)的宽高
  • border-box:IE传统盒子模型,设置的宽高为内容(content)+ 内边距(padding)+边框(border)的宽高


3、css选择器


  • id选择器
  • class选择器
  • 标签选择器
  • (ul>li)子选择器
  • (li a)后代选择器
  • (*)通配符选择器
  • (a:hover)伪类选择器
  • css选择器优先级排序为:!important > 行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性


4、link和@import的区别


  • link是xhtml标签,除了加载css文件,还可以定义ref连接属性,@import只能加载css文件
  • link标签引入的css文件同时被加载,@import引入css文件将在页面加载完毕后才加载
  • link无兼容问题,@import只能在IE5以上识别


5、a标签的4个伪类


  • a:link{}:向未被访问的链接添加样式
  • a:visited{}:向已访问的链接添加样式
  • a:hover{}:当鼠标悬浮在元素上时,向元素添加样式
  • a:active{}:向已经被激活的元素添加样式,即鼠标按下时的样式
  • 顺序不能乱:LVHA


6、常见的伪元素


  • p::before{content:"hello"}
  • p::after{content:"hello"}
  • 伪元素必须设置content值,否则不起作用


7、伪类


  • 在已有的元素处于莫个状态时,为其添加相对应的样式,这个状态是根据用户的行为而动态变化的,我们称之为伪类


8、伪元素


  • 创建一些不存在文档树中的元素,为其添加相对应的样式,我们称之为伪元素,CSS2中的伪元素用一个冒号:,CSS3中的伪元素用两个冒号::,用来区分伪类和伪元素


9、伪类和伪元素的区别


  • 伪类在已有的元素中添加额外的样式
  • 伪元素在自己虚拟的元素中添加样式


10、margin塌陷问题


  • 当文档流中,父元素的高度默认是被子元素撑开的,也就是说,子元素有多高,父元素就有多高,但当子元素设为浮动之后,子元素会完全脱离文档流。此时,子元素无法撑开父元素的高度,导致父元素高度塌陷
  • 解决办法:用父元素触发BFC就能解决margin塌陷问题,或者给父元素添加border边框
  • BFC(Block Formatting Context),块级格式化上下文
  • 触发BFC的条件:
  • 1、position:absolute;//绝对定位
  • 2、display:inline-block;//既有block元素可以设置宽高,又有inline元素默认不换行的特性,还有vertical-aligin:center;垂直对齐的属性
  • 3、float:left/right;
  • 4、overflow:hidden;//溢出隐藏


11、margin合并


  • 块级元素的上/下边距有时直接接触/相邻时,会取margin最大的值,合并为一个外边距,这种行为叫做margin合并
  • 注意浮动元素和绝对定位元素不会发生margin合并
  • 解决方案:
  • 1、父元素中添加border边框
  • 2、父元素用padding替换margin
  • 3、把父元素添加BFC


12、flex布局和grid布局的区别


  • flex是一维布局,grid是二维布局,也就是grid布局可以更好的操作行和列
相关文章
|
5月前
|
移动开发 JavaScript 前端开发
Vue系列教程(05)- 基础知识快速补充(html、css、js)
Vue系列教程(05)- 基础知识快速补充(html、css、js)
108 0
|
15天前
|
编解码 前端开发
css的基础知识
【4月更文挑战第11天】css的基础知识
9 1
|
9月前
|
前端开发 Java
【JavaEE】CSS基础知识2
【JavaEE】CSS基础知识2
|
9月前
|
缓存 前端开发 Java
【JavaEE】CSS基础知识1
【JavaEE】CSS基础知识1
|
移动开发 JavaScript 前端开发
js和css基础知识总结
ajax里面在数据请求之前加layui.load()时,请求状态必须是异步的才行( async: true)
|
前端开发 JavaScript 容器
前端基础知识系列一CSS(基础布局)
最近在改造之前项目的UI,发下自身对于css的许多知识掌握的还没有成体系化,乘着最近有时间就来看看我们熟悉又陌生的CSS,先说下学习路径:菜鸟教程(指的是看的人菜),MDN,掘金小册玩转CSS的艺术之美。结合着看,集百家之长,补己之短。
|
前端开发
CSS 速复习(基础知识) (思维导图App: Xmind)
CSS 速复习(基础知识) (思维导图App: Xmind)
508 0
CSS 速复习(基础知识) (思维导图App: Xmind)
|
前端开发
HTML CSS 基础知识(简要)
HTML CSS 基础知识(简要)
73 0
HTML CSS 基础知识(简要)
uiu
|
前端开发 JavaScript 编译器
【Svelte】-(1)基础知识 / 快速上手 / 添加数据 / 动态属性 / CSS样式 / 嵌套组件 / HTML标签
【Svelte】-(1)基础知识 / 快速上手 / 添加数据 / 动态属性 / CSS样式 / 嵌套组件 / HTML标签
uiu
244 0
【Svelte】-(1)基础知识 / 快速上手 / 添加数据 / 动态属性 / CSS样式 / 嵌套组件 / HTML标签
|
前端开发
【Web前端】——CSS基础知识总结
 HTML可以让我们实现静态页面效果,但是页面没有炫酷好看的效果,通过CSS技术可以对静态页面进行修饰,让页面更加好看美观。
【Web前端】——CSS基础知识总结