2022.7.7 CSS入门基本规则笔记

一、盒子模型

1.标准模型(W3C标准的盒子模型)

标准模型时,width和height只规定了内容的大小,盒子总大小需要加上padding和border的大小。

.box {
    width: 200px;
    height: 200px;
    background-color: green;
    padding: 10px;
    border: 5px dotted red;
}

2.怪异模型(IE标准的盒子模型)

 在选择器声明块中加入 box-sizing: border-box 盒子的总大小就会固定为width和height的值。

 二、布局

 1.定位

position: static; 的元素不会以任何特殊方式定位;它始终根据页面的正常流进行定位。

position: relative; 的元素相对于其正常位置进行定位。设置相对定位的元素的 top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。不会对其余内容进行调整来适应元素留下的任何空间。

position: fixed; 的元素是相对于视口定位的,这意味着即使滚动页面,它也始终位于同一位置。 top、right、bottom 和 left 属性用于定位此元素。固定定位的元素不会在页面中通常应放置的位置上留出空隙。

position: absolute; 的元素相对于最近的定位祖先元素进行定位(而不是相对于视口定位,如 fixed)。然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。注意:“被定位的”元素是其位置除 static 以外的任何元素。

position: sticky; 的元素根据用户的滚动位置进行定位。粘性元素根据滚动位置在相对(relative)和固定(fixed)之间切换。起先它会被相对定位,直到在视口中遇到给定的偏移位置为止 - 然后将其“粘贴”在适当的位置(比如 position:fixed)。注意:Internet Explorer、Edge 15 以及更早的版本不支持粘性定位。 Safari 需要 -webkit- 前缀(请参见下面的实例)。您还必须至少指定 toprightbottom 或 left 之一,以便粘性定位起作用。

div.sticky {
  position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
  background-color: green;
  border: 2px solid #4CAF50;
}

2.重叠元素:z-index 属性指定元素的堆栈顺序(哪个元素应放置在其他元素的前面或后面)。元素可以设置正或负的堆叠顺序。

3.Flex 布局

设置 display: flex; 之后,其子元素的float、clear和vertical-align 属性将失效。

三、对齐

1.要使元素(例如 <div> )水平居中,使用 margin: auto;注:必须设置 width 否则不生效;

2.在元素内居中文本,使用 text-align: center;

3.如果要居中对齐图片 img ,需要先 display: block;

4.使用 position 左右对齐:

        首先position: absolute; 然后使用 left: ;或者right: ;对齐。

5.使用 float 左右对齐:直接 float: left/right; 注意:如果一个元素比包含它的元素高,并且它是浮动的,它将溢出其容器。可以使用 clearfix hack 来解决此问题

6.使用padding垂直对齐:

        案例:

<!DOCTYPE html>
<html>
<head>
<style>
.center {
  padding: 70px 0;
  border: 3px solid green;
}
</style>
</head>
<body>

<h1>垂直居中</h1>

<p>在此例中,我们使用 padding 属性将 div 元素垂直居中:</p>

<div class="center">
  <p>我是垂直居中的。</p>
</div>

</body>
</html>

7.使用 line-height 垂直对齐

.center {
  line-height: 200px;
  height: 200px;
  border: 3px solid green;
  text-align: center;
}

/* 如果有多行文本,请添加如下代码:*/
.center p {
  line-height: 1.5;
  display: inline-block;
  vertical-align: middle;
}

8.使用 position 和 transform 垂直对齐

.center { 
  height: 200px;
  position: relative;
  border: 3px solid green; 
}

.center p {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

9.使用 Flexbox 垂直对齐

.center {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  border: 3px solid green; 
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值