• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
丶chunchun
博客园    首页    新随笔    联系   管理    订阅  订阅

CSS重点

布局(1)

盒子模型的宽度如何计算

  offsetWidth = 内容宽度 + 内边距 + 边框 ,不包含外边距。

  如果加了 box-sizing: border-box; 那么设置的width就是包含 内容宽度 + 外边距 + 边框的宽度

margin纵向重叠的问题

  例如:

<style>
p {
font-size: 16px;
line-height: 1;
margin-top: 10px;
margin-bottom: 15px;
}
</style>
<p>AAA</p>
<p></p>
<p></p>
<p></p>
<p>BBB</p>
<!-- 由于有margin纵向重叠的问题,AAA和BBB之间间隔 15px -->
 

margin负值的问题

  margin-top 和 margin-left 负值,元素向上、向左移动

  margin-right负值,右侧元素左移,自身不受影响

  margin-bottom负值,下方元素上移动,自身不受影响

布局(2)

BFC的理解和应用

  Block format context, 即块级格式化上下文

  一块独立渲染区域,内部元素的渲染不会影响边界以外的元素

  形成 BFC 的常见条件:

    1、float不是none;

    2、position是absolute或者fixed;

    3、overflow不是visible

  BFC的常见用途:清除浮动

float布局的问题

  手写clearfix(主要是 clear: both)

    .clearfix::after {

      content: '';

      display: table;

      clear: both;

    }

    .clearfix {

      *zoom: 1; /* 兼容 IE 低版本需要,可不写 */

    }

  圣杯布局和双飞翼布局的目的:

    1、三栏布局,中间一栏最先加载和渲染(内容最重要)

    2、两侧内容固定,中间内容随着宽度自适应

    3、一般用于PC网页

  圣杯布局和双飞翼布局的技术总结:

    1、使用float布局;

    2、两侧使用margin负值,以便和中间内容横向重叠;

    3、防止中间内容被两侧覆盖,可以用padding或者margin方式来实现;

flex的问题

  flex-direction:主轴方向

  justify-content:水平居中

  align-items: 垂直居中

  flex-wrap: 是否换行

  align-self : 子元素在交叉轴(也就是副轴)的对齐方式

CSS定位

  absolute和relative 分别依据什么定位?

  relative依据自身定位

  absolute依据最近一层的定位元素定位;

  居中对齐有哪些实现方式?

  flex垂直居中对齐

  position定位,top和left各50%,再用translate减去自身宽高度的一半

  文字居中:text-align: center;    文字高度居中:line-height 与 height 保持一致;    block元素水平居中: margin: auto;等等 ...

CSS图文样式

  line-height如何继承

    1、写具体数据,如: 30px,则继承该值;

    2、写比例,如 2 或者 1.5,则继承该比例;

    3、写百分比,如200%,则继承计算出来的值(考点);

      例如: body{ font-size: 20px; line-height: 200% }; p { font-size: 16px }; <body>    <p></p>   </body>,问 p 标签的line-height是多少:   40px

css响应式

  rem:是一个长度单位,相对根元素(html),常用于响应式布局

  响应式布局的常用方案:

    1、首先通过媒体查询(media-query),根据不同的屏幕宽度设置根元素 font-size; 例如:html { font-size: 20px; }

    2、rem,基于设置的根元素的显贵单位;

    或者可以直接在页面加载之初,获取屏幕宽度,然后通过计算,动态设置HTML的根元素font-size;(个人认为比较实用)

  vw与vh: vm是视口宽度,vh为视口高度;都分为 100 份,1vh = 1 / 100视口高度;

    vmax 取两者最大值,vmin 取两者最小值;(两者指的是宽度和高度的意思)

    window.screen.height                // 屏幕高度

    window.innerHeight                   // 网页视口高度

    document.body.clientHeight      // body高度

 

 伪类和伪元素的区别

     常用伪类  伪类  :link  :hover         伪元素  ::before    ::after

  可以同时使用多个伪类,但是只能使用一个伪元素

 

 

 

 

 

 

 

posted @ 2020-10-31 12:31  丶chunchun  阅读(92)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3