分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

css学习-理解负外边距

发布时间:2023-09-06 01:28责任编辑:顾先生关键词:暂无标签

在css盒模型定义中,外边距指的是元素距离相邻元素的距离,也就是元素的边界。布局中,正的外边距能拉开元素之间的距离,这个很好理解,但是设置负的外边距会产生意想不到的渲染结果,一些理解笔记整理如下:

  • 总的来说,从文档流位置的角度看,设置了负外边距的元素相当于边界往里缩,结果其相邻其他元素会沿着文档流的反方向流动。(这对于正常的文档流和浮动的元素影响是一样的
  • 设置负外边距可以增加元素的宽度,这个作用能实现的前提是该元素是一个包含在给定宽度的父元素但没有设定width属性的元素,下面是实例代码:

    <style>body,ul,li{ padding:0; margin:0;}ul,li{ list-style:none;}.container{ height:210px; width:460px; border:5px solid #000;}ul{ height:210px; overflow:hidden; margin-right:-20px;}/*一个负的margin-right,相当于把ul的宽度增加了20px*/li{ height:100px; width:100px; background:#09F; float:left; margin-right:20px; margin-bottom:10px;}</style><div class="container"><ul> ???<li>子元素1</li> ???<li>子元素2</li> ???<li>子元素3</li> ???<li>子元素4</li> ???<li>子元素5</li> ???<li>子元素6</li> ???<li>子元素7</li> ???<li>子元素8</li></ul></div>
  • 对于绝对定位的元素,设置负外边距可以实现元素 元素相对父元素水平(垂直)居中显示--首先设置left: 50%(或top: 50%),再设置margin-left(或margin-right)为自身宽(或高)的一半,即可实现居中显示,下面是实例代码:

    <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title><style> ???* { ???????margin: 0; ???????padding: 0s; ???} ???.father { ???????margin: 100px ; ???????width: 200px; ???????height: 200px; ???????border: 1px solid #000; ???????position: relative; ???} ???.children { ???????width: 50px; ???????height: 50px; ???????background: #f60; ???????position: absolute; ???????left: 50%; ???????top: 50%; ???????margin-left: -25px; ???????margin-top: -25px; ???}</style></head><body><div class="father"> ???<div class="children"></div></div></body></html>

css学习-理解负外边距

原文地址:http://www.cnblogs.com/zhangdecai/p/7990172.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved