html中设置负边距的意义,css负边距之详解

自从1998年CSS2作为推荐以来,表格的使用渐渐退去,成为历史。正因为此,从那以后CSS布局成为了优雅代码的代名词。

对于所有设计师使用过的CSS概念,负边距作为最少讨论到的定位方式要记上一功。这就像是在线纹身-每个人都会做,但是没有人会谈论它。(It’s

like an online taboo—everyone’s doing it, yet no one wants to talk

about it.)

为其正名

我们都使用过CSS得外边距,但是当谈到负边距的时候,我们好像往差的方向发展啦。在网页设计中负边距的使用出现了两种极端,一种特别喜欢它,也有一些人认为这完全就是魔鬼的作品。

负边距的使用如下:

#content {margin-left:-100px;}

负边距通常在小范围使用。但是接下来你会看到,它能做的事情很多。下面是一些你应该知道的关于负边距的事情:

他们是完全有效的CSS这不是在跟你开玩笑。W3C甚至都说,在外边框中使用负边距是允许的。要了解更多可以点击这篇文章负边距不是在hack这是尤其正确的。正是因为没有很好地了解负边距才是导致各种奇怪的问题。只有在被用来解决其他地方的bug的时候才是hack它符合正常的文档流当负边距使用在没有浮动的元素上时并不会破坏正常的文档流。所以付过你使用负边距把元素向上微调的话,所有后面的元素也会向上微调。它是相当好的兼容性负边距基本上被所有现代的浏览器支持(IE6的大部分情况也是)当使用了float之后,会有不同的表现负边距不是你平常使用的属性,所以使用的时候要格外小心。Dreamweaver不理解它负边距不会在DW的设计窗口展示出效果。那你为什么还用DW的设计窗口查看效果呢?与其共事

负边距如果可以正确的使用的话它的功能是很强大的。有两种场景负边距是很重要的。

在static元素中使用负边距

a4c26d1e5885305701be709a3d33442f.png

​​一个static元素是一个没有使用过float的元素。上面的图片展示了一个static的元素使用负边距之后的情况。

当一个static元素在top/left使用负边距时,它把元素向这个特定的方向拉,比如

#mydiv1 {margin-top:-10px;}

但是当你将负边距设置为相对bottom/right时,它并不会把元素向下或右拉,相反,它会把后面的元素往里面拉,从而覆盖自己。

#mydiv1{margin-bottom:-10px;}

如果宽度没有设置,左右负边距会把元素向两个方向拉以增加宽度。在这里margin的作用相当于padding在浮动中使用负边距

加入下面就是我们的html代码:

id="mydiv1">First

id="mydiv2">Second

如果对一个浮动的元素使用负边距,它会产生一个空白,其他元素就可以覆盖这一部分。这个技巧可以很好地用户流式布局。比如有一列宽度100%,另一列有固定的宽度,比如说100px。

#mydiv1 {float:left; margin-right:-100px;}

如果两个元素都使用了左浮动并且设置margin-right:-20px。#mydiv2会把#mydiv1看成宽度缩小20px(所以会覆盖一部分),但是有趣的是#mydiv1并不会有任何变化,而是依然保持原先的宽度。如果负边距和宽度一样大的话,它就会被完全覆盖掉。因为外边距,内边距,边框和内容加起来等于元素的宽度。如果负外边距等于元素的宽度的话,那么该元素的宽度就会变成0px。学以致用

既然我们知道使用负边距在CSS2中是有效的,使用它可以给我们提供一些非常有趣的CSS技巧。

把单个列表变成三列

如果你有一个列表垂直方向太长了,为什么不把它分成几列呢?负边距可以让你在不增加任何浮动和标签的情况下完成。你会发现用负边距实现这个是多么地简单,就像下面:

HTML

class="col1">Eggs

​class="col1">Ham

​class="col2

top">Bread

​class="col2">Butter

​class="col3

top">Flour

​class="col3">Cream

CSS

ul

{list-style:none;}

li

{line-height:1.3em;}

​.col2

{margin-left:100px;}

​.col3

{margin-left:200px;}

​.top

{margin-top:-2.6em;}

通过对.top的添加margin-top:-2.6em。所有的元素会完美的对齐好。使用负边距会比使用相对定位好很多,因为你只需要给新的一列的第一个元素添加负边距即可。酷吧,哈哈哈

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427664.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

warning: expression result unuesd 可能原因是函数忘了加括号,

转载于:https://www.cnblogs.com/chulin/p/9082833.html

vue基础18(vue-cli脚手架项目中组件的使用)

vue-cli脚手架项目中组件的使用 在webpack-simple模板中,包括webpck模板。一个.vue文件就是一个组件。 为什么会这样呢?因为webpack干活了!webpack的将我们所有的资源文件进行打包。同时webpack还能将我们的html(template&#xf…

js和layerjs配合实现的拖拽表格列

前几天想着实现表格列的拖拽 写了个例子 一直不完美 经过修改感觉还算完美了 拖拽过程不会复制文字并且还能实现layerjs本身自带的表格排序功能。 1、首先引入layer.css jquery layui.all.js 2、布局页面 <div class"divT"> <table class"l…

计算机应用中的CAI,????按计算机应用的分类,CAI应属于()应用。

按计常见的企业法律组织形式有()&#xff1f;算机属于recoil固有的、应用I应应用本来的按计cant help but算机属于Destruction of the original forest leads to the ___ of many plants.应用I应应用flocks of的同义词按计Many birds ___ southeast in winter.支持、算机属于供…

(tmp 8) 0xff;

以下是阅读他人文章后&#xff0c;个人对计算 (tmp >> 8) & 0xff; 的理解&#xff1a; 将tmp转为二进制数 6322040->11000000111011101111000,向右移16位&#xff08;清掉该16位&#xff09;&#xff0c;且左边用0补足16位 00000000000000001100000&#xff0c;将…

请对比html与css的异同,css3与css2的区别是什么?

CSS为HTML标记语言提供了一种样式描述&#xff0c;定义了其中元素的显示方式。CSS在Web设计领域是一个突破。利用它可以实现修改一个小的样式更新与之相关的所有页面元素。CSS2.0是一套全新的样式表结构&#xff0c;是由W3C推行的&#xff0c;同以往的CSS1.0或CSS1.2完全不一样…

MySQL数据导入导出(一)

今天遇到一个需求&#xff0c;要用自动任务将一张表的数据导入另一张表。具体场景及限制&#xff1a;将数据库A中表A的数据导入到数据库B的表B中&#xff08;增量数据或全量数据两种方式&#xff09;&#xff1b;体系1和体系2只能分别访问数据库A和数据库B。附图&#xff1a; 实…

360桌面计算机,360桌面管理软件

360桌面管理是从360安全卫士中单独提取出来&#xff0c;让你无需安装360安全卫士就能快速使用桌面助手整理自己的桌面。【功能特色】1、一键整理桌面&#xff0c;眨眼之间变清爽360桌面助手采用收纳盒进行分类管理&#xff0c;支持一键整理电脑桌面&#xff0c;用户只要点击“桌…

基于51的串行通讯原理及协议详解(uart)

串行与并行通讯方式 并行&#xff1a;控制简单&#xff0c;传输速度快。线多&#xff0c;长距离成本较高且同时接受困难。 串行&#xff1a;将数据字节分成一位一位的行驶在一条传输线上进行传输。如图&#xff1a; 同步与异步串行通讯方式 同步串行通讯方式&#xff1a;同步…

计算机四级考试题数据库,计算机四级考试《数据库系统工程师》试题及答案

计算机四级考试《数据库系统工程师》试题及答案计算机四级备考工作正在火热进行中&#xff0c;为帮助考生们更好地复习备考&#xff0c;以下是百分网小编搜索整理的一份计算机四级考试《数据库系统工程师》试题及答案&#xff0c;供参考练习&#xff0c;预祝考生们考出自己理想…

二层环路保护,RRPP多环的配置

作者:邓聪聪 组网需求&#xff1a; 局域网中&#xff0c;由A/B/C/D构成RRPP域1换网络结构&#xff0c;要求环网机构中的任意两条线路中断都不能影响业务。 配置思路&#xff1a; 环路由两部分组成&#xff0c;ring1、ring2&#xff0c;B为环1的主节点&#xff0c;G0/0/2为主端口…

如图所示是一种轧钢计算机控制系统,高速线材厂轧钢工艺培训(活套)

原标题&#xff1a;高速线材厂轧钢工艺培训(活套)活套现代高速线材轧机为保证产品尺寸精度&#xff0c;采用微张力及无张力轧制&#xff0c;以消除轧制过程中各种动态干扰引起的张力波动和由此引起的轧件尺寸波动。由于精轧机组为集体传动&#xff0c;故精轧采用微张力轧制&…

Linux服务部署之NTP时间服务器

Linux服务部署之NTP时间服务器&#xff1a; 服务器端IP&#xff1a;192.168.11.119 client端Ip&#xff1a; 192.168.11.101 先安装服务器端ntp: 首先先查看是否安装了ntp时间服务器; ~]# rpm -q ntp >查看是否安装了ntp服务器&#xff1b; 如果没有&#xff0c;安装服务器…

Dubbo架构设计详解

Dubbo是Alibaba开源的分布式服务框架&#xff0c;它最大的特点是按照分层的方式来架构&#xff0c;使用这种方式可以使各个层之间解耦合&#xff08;或者最大限度地松耦合&#xff09;。从服务模型的角度来看&#xff0c;Dubbo采用的是一种非常简单的模型&#xff0c;要么是提供…

new 3ds右摇杆测试软件,电击杂志编辑新3DS评测:防抖3D效果拔群!

电击杂志日前在本周杂志上看在了10月11日任天堂将会发售新型3DS主机“新3DS”与“新3DS LL”的上手报告。究竟新版3DS表现如何&#xff1f;让我们一窥究竟。新3DS与新3DS LL“新3DS”与“新3DS LL”是于8月29日配信的“任天堂8月29日3DS直面会”中发表的&#xff0c;主要特点是…

计算机cad比例尺1 150,CAD图纸里面 1:50 和:1:100和1:150三个比例分别怎么换算...

CAD图纸里面 1&#xff1a;50 和&#xff1a;1&#xff1a;100和1&#xff1a;150三个比例分别怎么换算以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;CAD图纸里面 1&#xff1a;50 和&…

Thread类学习(一)

Thread类API中的英文描述&#xff1a; file:///D:/Java/JDK8/Docs/docs/api/index.html 英语不好&#xff0c;大致的意思是&#xff1a; 线程是程序执行时的线程&#xff0c;java虚拟机(JVM)允许一个应用运行多个线程(并发)。 每一个线程都自己的优先权&#xff0c;优先级高的线…

做企业网站为什么要服务器呢,企业为什么要建站?

一、企业建站为何要建立自己的网站1、企业建站的第1个好处就是树立企业形象酒香不怕巷子深&#xff0c;说的就是线下企业经营时以自身企业形象带来的效果&#xff0c;但企业在网上经营活动时&#xff0c;一方面没有大量老客户支援&#xff0c;另一方面陌生人也没有信任感&#…

[转]Oh My Zsh,安装,主题配置

https://swp-song.com/2017/08/20/Tools/OhMyZsh%E5%AE%89%E8%A3%85%E5%92%8C%E4%B8%BB%E9%A2%98%E9%85%8D%E7%BD%AE%E6%96%B9%E6%B3%95/ Oh MyZsh 是什么 Oh My Zsh 它是基于 zsh 命令行的一个扩展工具集&#xff0c;驱动的命令行工具&#xff0c;提供了主题配置 / 插件机制 /…

Linux系统运维成长记

2017年秋天&#xff0c;大一入学&#xff0c;由于高考分数没有达标计算机专业于是被调剂到了土木工程专业。起初大家一起上课下课感觉不到什么变化&#xff0c;但是随着时间的流逝&#xff0c;日子久了&#xff0c;我越发觉得这样的生活毫无乐趣。我的主要兴趣在计算机方面&…