css高级技巧——margin负值之美

1、负边距+定位:水平垂直居中

解决绝对定位absolute、固定定位fixed,都无法使用margin:auto;实现居中问题

思路:利用父级盒子的宽(高)50%,然后再左(上)自己宽(高)度的一半,实现居中效果。

2、压住盒子相邻边框
相邻边,边框相加变粗

在这里插入图片描述

解决思路:

如果盒子都在一行,让每个盒子外边距向左1像素既margin-left:-1px;
如果盒子存在多行,盒子向左1像素向上1像素既margin-left:-1px; margin-top:-1px;
在这里插入图片描述

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>margin负值之美_压住盒子相邻边框</title>
	<style>
		div {
			float: left;
			width: 250px;
			height: 350px;
			border: 1px solid #ccc;
			margin-left: -1px;
			margin-top: -1px;
		}
	</style>
</head>
<body>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
</body>
</html>
3、压住盒子相邻边框解决后,hover盒子时边框出现缺失

效果如下图:
在这里插入图片描述

解决思路1:

使hover的这个盒子处于‘最高状态’,然后再定位(保留位置),使用相对定位——position:relative;
盒子高低如下图:定位>浮动>标准流盒子
在这里插入图片描述

<style>
	div {
		float: left;
		width: 250px;
		height: 350px;
		border: 1px solid #ccc;
		margin-left: -1px;
		margin-top: -1px;
	}
	div:hover {
		position: relative;
		border: 1px solid red;
	}
</style>
解决思路2:

利用子绝父相定位后,给hover里设置z-index值

<style>
	div {
		position: relative;
		float: left;
		width: 250px;
		height: 350px;
		border: 1px solid #ccc;
		margin-left: -1px;
		margin-top: -1px;
	}
	div:hover {
		position: absolute;
		border: 1px solid red;
		z-index: 1;
	}
</style>

解决后效果:
在这里插入图片描述
lvan学习笔记-文章内容仅个人观点
2019.12.12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值