前端学习——CSS学习

1. 盒子模型

margin、border、padding、content的关系

  • margin:外边距(块元素之间的距离)
  • border:边框
  • padding:内边距(边框跟内容的距离)
  • content:内容

在这里插入图片描述
样式设置

(1)padding-left:10px; 左内边距

(2)padding-right:10px; 右内边距

(3)padding-top:10px; 上内边距

(4)padding-bottom:10px; 下内边距

(5)padding:10px; 四边统一内边距

(6)padding:10px 20px; 上下、左右内边距

(7)padding:10px 20px 30px; 上、左右、下内边距

(8)padding:10px 20px 30px 40px; 上、右、下、左内边距

2. px、em、rem 设置大小

  • 一、px是固定的像素,一旦设置了就无法因为适应页面大小而改变。
  • 二、em和rem相对于px更具有灵活性,他们是相对长度单位,意思是长度不是定死了的,更适用于响应式布局。

em

  • 子元素font-size的em,是相对于父元素font-size
  • 元素的width/height/padding/margin的em,是相对于该元素的font-size
<div>
    父元素div
    <p>
       子元素p
        <span>孙元素span</span>
    </p>
</div>
div {
	font-size: 40px;
    width: 7.5em; /* 7.5 * 40px == 300px */
    height: 7.5em;
    border: solid 2px black;
}

p {
    font-size: 0.5em; /* 0.5 * 40px == 20px */
    width: 7.5em; /* 7.5 * 20px == 150px */
    height: 7.5em;
    border: solid 2px blue ;
    color: blue;
}

span {
    font-size: 0.5em;
    width: 7em;
    height: 6em;
    border: solid 1px red;
    display: block;
    color: red;
}

在这里插入图片描述
rem

  • rem是全部的长度都相对于根元素,根元素是谁?元素。通常做法是给html元素设置一个字体大小,然后其他元素的长度单位就为rem。
<div>
    父元素div
    <p>
       子元素p
        <span>孙元素span</span>
    </p>
</div>
html {
        font-size: 10px;
    }

div {
	font-size: 4rem; /* 40px */
	width: 20rem;  /* 200px */
	height: 20rem;
	border: solid 2px black;
}

p {
	font-size: 2rem; /* 20px */
    width: 10rem;
    height: 10rem;
    border: solid 1px blue;
    color:blue ;
}

span {
	font-size: 1.5rem;
    width: 7rem;
    height: 6rem;
    border: solid 2px red;
    display: block;
    color: red;
}

在这里插入图片描述

3. position 布局

  • static:HTML 元素的默认值,即没有定位,遵循正常的文档流对象。静态定位的元素不会受到 top, bottom, left, right影响。
  • fixed:元素的位置相对于浏览器窗口是固定位置。即使窗口是滚动的它也不会移动。
  • relative:相对定位元素的定位是相对其正常位置。
  • absolute:绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于< html >

这里relative与absolute比较抽象,所以这里只对这两者进行说明

  • 首先设置正常的文档流
<body>
    <div class="div1">第一个div</div>
    <div class="div2">第二个div</div>
    <div class="div3">第三个div</div>
    <div class="div4">第四个div</div>
</body>

在这里插入图片描述

区别一:

  • relative会占用其原有的位置,并且飘到设定位置
  • absoulte不会占用其原有的位置,而是飘到设定的位置
    在这里插入图片描述
    在这里插入图片描述

区别二:

  • relative是相对于原有的正常位置,移动到指定位置
  • absolute是相对于父元素的正常位置,移动到指定位置
    在这里插入图片描述
    在这里插入图片描述

区别三

  • relative会影响父元素大小
  • absolute不会影响父元素大小
    在这里插入图片描述
    在这里插入图片描述

4. 文本流与文档流

  • 文档流:指的是HTML中元素在计算布局排版。(元素顺序)
  • 文本流:简单来说就是元素内部的一系列的字符的排列规则。(文字顺序)

示例:float脱离文档流,但不脱离文本流。absolute脱离文档流与文本流
在这里插入图片描述
在这里插入图片描述

5. float 浮动

  • 浮动:浮动以后使元素脱离了文档流,但不脱离文本流。(参考上述第4点)
  • 位置:浮动是碰到(父元素、未脱离元素、浮动元素),就会停止,所以不会重叠
  • 方向:浮动只有左右浮动,没有上下浮动

6. z-index属性如何生效

  • 首先将position定义为,absolute、relative或fixed。
    【必须position为以上三个属性,z-index才能层级体现出来,才能起作用】
  • 设置 style 中 z-index:auto
    auto可定义为一个值(整数数字),越大代表越置前,如可定义为: z-index:9999。
  • 若定义为-1,代表为最底层。
    如果要让div1不被div2遮挡,则将div1的z-index设置比div2大就可以了。

7. 层级规律

脱离状态:未脱离 < 半脱离 < 全脱离
全脱离元素:相同位置、相同z-index的元素,后面的元素会覆盖前面的元素
z-index:全脱离元素,z-index数值大的元素,覆盖z-index数值小的元素

8. 修改样式的两种方式

直接修改元素的样式

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


使用类选择器修改元素样式

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述


9. 样式嵌套

规则
在这里插入图片描述
示例
在这里插入图片描述

总结

1. 未脱离、半脱离、全脱离

1. 位置

  • 未脱离:元素按照文档流的顺序,依次排列。
  • 半脱离:碰到(父元素、未脱离元素、浮动元素),就会停止。
  • 全脱离:按照position各自的特性,移动到指定位置

2. 层级

  • 脱离状态:未脱离 < 半脱离 < 全脱离
  • 全脱离元素:相同位置、相同z-index的元素,后面的元素会覆盖前面的元素
  • z-index:全脱离元素,z-index数值大的元素,覆盖z-index数值小的元素
  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值