CSS琐碎知识点

1.块级元素

  • 块级元素才可以设置上下padding
  • 块级元素本身就要撑满容器
  • 行内元素居中,父容器设置text-aligin: center
  • 行内元素设置宽度高度无效,行内元素添加padding 和margin,左右生效,上下视觉生效(会遮挡),但不占位置,实际不生效
  • 块级元素居中,设置margin: 0 auto;
  • 控制台=> style中,color: aliceblue 点击 即取色器
  • inline-block 行内块级存在的意义是上下padding margn
  • 既呈现 inline 特性(不占据一整行,宽度由内容宽度决定)又呈现 block 特性(可设置宽高,内外边距) 缝隙问题span之间不要空格
  • li是块级元素
  • inline-block 加了padding 默认是以字的基线对齐
  • vertical-align: top/bottom/middle 对齐三种方式
  • height = line-heihgt 来垂直居中单行文本
  • 伪元素用来代替标签

2.浮动

  • 浮动元素看到普通元素时,浮动元素看不到普通元素,p中文字会生成一个匿名的行盒,可以看到浮动元素,文字围绕浮动元素 box float遇到p中有文字

  • 一个浮动盒会向左或向右移动,直到其外边(outer edge)挨到包含块边沿或者另一个浮动盒的外边。如果存在行盒,浮动盒的外top(边)会与当前行盒的top(边)对齐 如果没有足够的水平空间来浮动,它会向下移动,直到空间合适或者不会再出现其它浮动了

  • 因为浮动(盒)不在普通流内,在浮动盒之前或者之后创建的未定位的(non-positioned)块盒会竖直排列,就像浮动不存在一样。然而,接着(next to)浮动(盒)创建的当前及后续行盒会进行必要的缩短,为了给浮动(盒)的margin box让出空间

  • 块级元素设置了浮动,宽度会收缩(不占一整行了),用width:100%

  • 行内元素设置浮动,设置宽高就可以生效

  • 普通流中的块级元素看不到浮动元素(注意先来后到,让着先来的浮动元素,后来的不行)

  • clear:left => 该元素前面有左浮元素,则去左浮元素下方

  • clear:right => 该元素前面有右浮元素,则去前面元素下方

  • 子元素全是浮动,父容器看不到

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
</head>
<body>
<ul class="navbar">                    <!--class = "navbar clearfix"-->
  <li><a href="#">1首页</a></li>
  <li><a href="#">2产品</a></li>
  <li><a href="#">3服务</a></li>
  <li><a href="#">4关于</a></li>
</ul>
<style>
    .navbar{
      list-style: none;
      border: 1px solid #ccc;
    }
    .navbar>li{
      float: left;
      margin-left: 15px;
    }
    .navbar::after{        /* .clearfix::after */
      content: '';         /* 相当于在后边加了一个非浮动元素 */
      display:block;       /* 块级元素占位 */
      clear:both;
    }
    
</style>
</body>
</html>
复制代码

3.定位

  • book.jirengu.com/fe/前端基础/CSS…
  • top left bottom只对relative absolute fixed生效
  • 对自己设置了position: relative 不脱离文档流,但是其它元素不被挤掉
  • 对自己设置了absolute,或脱离文档流,和别的元素相互覆盖

5.BFC

6.边距合并

  • 相邻元素会产生margin合并,取大的
  • 父子合并
  • 自己和自己合并
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值