css-盒模型

文章探讨了CSS盒模型中的负值margin如何与border-box配合实现自适应布局,以及盒模型在display属性为block时对textarea和input的影响。同时,提到了margin塌陷的情况和浮动元素如何避免margin重叠。此外,还讨论了inline元素的padding对布局的影响,以及盒模型在flex和grid布局中的应用。
摘要由CSDN通过智能技术生成
  1. 巧妙运用margin负值
  2. 盒模型和怪异盒模型(border padding 包含在内)
  3. display: block 能让textarea input 水平尺寸自适应父容器? – 不能
  4. min-content? max-content? 是什么含义?? (以最长的单词?)
* {
	box-sizing: border-box; // bs: bb
}
<textarea/> 是替换元素,尺寸由内部元素决定,不受display水平影响. 当然可以直接设置宽度100%

margin塌陷(合并/重叠)

  1. 标准流, 上面的盒子设置 margin-bottom, 下面的设置了margin-top, 这个两个会重叠, 变为较大的一个
  2. 但是, 如果脱标,比如浮动之后就不会重叠了; 或者两个元素在flex/grid 内,
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div{
            width: 100%;
            height: 200px;
            background-color: antiquewhite;
            margin-bottom: 100px;
            float: left;
        }
        .box2{
            background-color: aqua;
            margin-top: 100px;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>
</html>

margin

margin和padding 用 百分比单位, 参照的是父级的宽度,设置width 也是参照父级的宽度…
xxx xxx xxx
xxx 2 xxx
xxx 2
如何让2 向下延伸, 又不会挤走第三行?

padding

  1. inline 元素的padding 其实也影响布局.
  2. 有两点:
    • 下面的a元素的padding 把上下的遮住了. 导致只能触发 alert(2)
    • padding的出现使contianer产生了滚动条
 <style>
	.container {
	      width: 200px;
	      height: 100px;
	      margin: 200px auto;
	      overflow: auto;
	      background-color: #f0f3f9;
	  }

	a {
	    font-size: 12px;
	    padding: 100px 10px;
	    background-color: red;
	    opacity: .7;
	}
</style>
<div class="container">
   	<div onclick="alert(1)">11</div>
    <a href="#" onclick="alert(2)">yogaMiller</a>
    <div onclick="alert(2)">22</div>
</div>

在这里插入图片描述

  1. 盒模型 定位 flex/grid 是写页面的基础
  2. 最初是用来做文字环绕图片的效果的. 后面发展成了一种布局方式
  3. 可以轻松实现
ul li {
	float: left;
	float: right; 
}
// 元素浮动后,脱离文档流, 且有了行内块元素的特点. 可设置宽高等.

清除浮动

.clearfix::after{
	content: "";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;	
}
.clearfix{
	*zoom: 1; /* ie 6 7  感觉不太需要了*/
}
.box{
	overflow: hidden; /* overflow-x: auto scroll */
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值