美文网首页前端面试之路
「Css」基础知识要点及常考面试题

「Css」基础知识要点及常考面试题

作者: ybrelax | 来源:发表于2019-03-13 18:08 被阅读0次

关于浮动

如何清除浮动

已知的浮动元素都是脱离普通文档流的;如果当前空间允许,则其后的元素会向上提升至与其平起平坐;所以浮动之后就会出现一个问题:包围浮动的父元素会引起塌陷
解决方案:

  1. 为父类元素设置overflow: hiden 或 auto ( 除了visible 以外)
    原理:强制父元素包裹成浮动元素,让父容器形成BFC(块级格式化上下文) 关于BFC
<section class="wrap">
  <img src="cat.png">
  <p>这是一只猫</p>
</section>
<style>
.wrap{
  overflow: hidden;
  /* overflow: auto; */
}
section{
  border: 1px solid blue;
  margin: 0 0 10px 0;
}
img{
  float: left;
}
p{
  margin:0;
  font-size:1em;
}
</style>
  1. 浮动父元素
    原理和1一样
.wrap{
  float: left;
}
  1. 在父元素末尾添加非浮动块级元素 或者 在伪类上进行添加
<section class="wrap">
  <img src="cat.png">
  <p>这是一只猫</p>
  <div class = "clear_left"></div>
</section>
<style>
.clear_left{
  clear: left;
}
或者可以这样
.wrap:after {
    content:".";
    display:block;
    height:0;
    visibility:hidden;
    clear:both;
}
section{
  border: 1px solid blue;
  margin: 0 0 10px 0;
}
img{
  float: left;
}
p{
  margin:0;
  font-size:1em;
}
</style>
  1. 没有父元素如何清除
    给一个浮动元素应用clear:both, 强迫定位在前一个浮动元素下方
<img  src="1.jpg"/>
  <img class="clear"  src="2.jpg"/>
  <style>
  img{
  float: left;
}
.clear{
  clear:both
}
</style>
  1. 可以用flex布局来解决浮动
    任何一个容器都可以指定为Flex布局:.div{dispaly:flex}.采用Flex布局的元素,称为Flex容器(flex container),简称"容器"。它的所有子元素自动成为容器成员。

css 引入link和@import的区别

  • link是XHTML标签,除了加载CSS外,还可以定义RSS等其他事务;@import属于CSS范畴,只能加载CSS。
  • link引用CSS时,在页面载入时同时加载;@import需要页面网页完全载入以后加载。
  • link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。
  • link支持使用Javascript控制DOM去改变样式;而@import不支持。
导入式:
<style type="text/css" media="screen">   
@import url("CSS文件");   
</style>

链接式:
<link rel="stylesheet" href="css的路径" type="text/css" >

flex布局中,flex-grow和flex-shrink属性又什么用?

flex-grow: 项目的放大比例,默认是0,即如果存在剩余空间,也不放大
flex-shrink: 项目的缩小比例,默认为1,即如果空间不足,该项目将缩小

相关文章

网友评论

    本文标题:「Css」基础知识要点及常考面试题

    本文链接:https://www.haomeiwen.com/subject/dfctpqtx.html