css 中的负边距:好的教程和技巧网站?

2024-03-28

当我查看网站时,CSS 方面之一有时让我感到困惑的是用于布局的负边距。我花了一段时间才明白设计师试图如何处理页面上的负边距。我的意思是一个页面有几个 div,其中几个使用负边距,我正在努力弄清楚它们。我使用Firebug更改值并查看效果。

有没有一个好的教程,技巧包网站,教网页设计师如何利用负边距来发挥自己的优势。当然还有跨浏览器的技巧。

试图弄清楚 margin-left:-100% 的作用。


一般来说,CSS 宽度可能有点令人困惑。绝对宽度很容易。相对宽度可能会导致一些有趣的行为。基本上,百分比宽度是相对于包含元素的。如果父元素有绝对宽度,那么很容易计算出来。但通常情况并非如此,因此您可以进行复杂的计算,了解浏览器如何计算它需要多少空间。如果它的所有子项都是百分比宽度,那么它的宽度通常会比设计者通常预期的要小。

所以当你看到margin-left: -100%,这基本上意味着将此元素移到其父级之外,向左移动父级的完整宽度。负边距(尤其是负边距)的一个后果是,他们搬入的空间通常无法满足他们的需求,在规划布局时必须考虑到这一点。

另一个好的提示是,如果您遇到这种情况:

<div id="outer">
  Outer
  <div id="inner">Inner</div>
</div>
<style type="text/css">
#outer { width: 100px; }
#inner { width: 50px; margin-left: -100px; }
<style>

它不会真正起作用。或者更确切地说,它可以在 (iirc) Firefox 上运行,但不能在 IE(任何版本)上运行。所以如果你想做这样的事情,你需要使用包含元素。

<div id="outer">
  Outer
  <div id="wrap">
    <div id="inner">Inner</div>
  </div>
</div>
<style type="text/css">
#outer { width: 100px; }
#wrap { width: 100px; margin-left: -100px; }
#inner { width: 50px; }
<style>

这将更加兼容浏览器。

这是一个演示负边距的完整示例(已在 FF、Chrome 和 IE8 上验证):

删除了无效的 ImageShack 链接

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Negative Margins</title>
<style type="text/css">
html, body, div { margin: 0; padding: 0; }
body { background: #A7A37E; }
#outer { width: 800px; background: #E6E2AF; margin: 0 auto; padding: 15px 0; }
#wrap { width: 500px; background: #EFECCA; margin: 0 auto; padding: 10px 0; }
#inner { color: #002F2F; margin: 10px 30px; }
div.left-note, div.right-note { width: 150px; }
div.left-note div, div.right-note div { background: #046380; margin: 10px; color: #EFECCA; padding: 10px; font-weight: bold; }
div.left-note { margin-left: -180px; float: left; }
div.right-note { margin-right: -180px; float: right; } 
</style>
</head>
<body>
<div id="outer">
<div id="wrap">
<div id="inner">
<div class="left-note"><div>Some important text to the left</div></div>
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr,  sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p>

<div class="right-note"><div>Some important text to the right</div></div>
<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.</p>
</div>
</div>
</div>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

css 中的负边距:好的教程和技巧网站? 的相关文章

  • 指定 body CSS 宽度安全吗?

    现在通常满足于以一定的尺寸居中 div Blah div 不使用包装器进行对齐和大小并直接将其应用到body tag 像这样 Blah 尺寸是
  • Google 地图 v3 - 阻止 API 加载 Roboto 字体

    Google 将样式添加到地图容器中以覆盖我的样式 我知道如何解决这个问题 但API v3 8 9 exp 还加载了我并不真正需要 想要的网络字体 Roboto 有什么设置 选项 方法可以解决这个问题吗 我可以阻止 API 添加额外的 CS
  • 背景图像上的透明导航栏

    我试图找出让我的英雄 背景图像位于透明 Bootstrap 4 导航栏后面的最佳方法 一些建议是将背景图像应用到页面的 这是可行的 但我不希望应用程序内的所有其他静态页面上都有背景图像 只有登陆页面 Rails 应用程序 我尝试在导航栏和
  • 向 jQuery 函数 Interval 添加动画

    我的问题是如何向倒计时器添加一些动画 我的意思是每次调用 Function Interval 时都需要添加一些动画 如下所示 youtube 视频链接 https www youtube com watch v A9fnvhcWPRo 第二
  • 使用 jQuery / JavaScript 将 Alpha 通道添加到背景颜色

    我有一个 jQuery 函数 它添加了一个Alpha通道到一个背景颜色当事件发生时 这是我的jsFiddle http jsfiddle net liormb SxQt8 1 CSS div background color rgb 100
  • 如何将 OTF/TTF 文件转换为 EOT 格式?

    我需要使用 font face 功能 并且我的字体是 OTF TTF 格式 而 Microsoft 浏览器仅支持 EOT 格式 我尝试使用微软工具WEFT 但它不起作用或者我不明白它是如何工作的 还有其他方法可以将我的字体转换为 EOT 格
  • 使用 css resize:both 调整表格单元格的大小;不使用表

    使用 css resize both 调整表格单元格大小不适用于表格 我需要调整表格及其单元格的大小 可以使用 css 调整大小 css resize both 在 div 中有效 但在表标签中无效 table border 1 tr td
  • CSS - 为什么我无法设置 元素的高度和宽度?

    我正在尝试使用以下 html 标记创建 css 按钮 a href access php class css button red Forgot password a 但它最终不会比中间的文本大 即使我已经设置了班级的高度和宽度 顺便说一句
  • 使用 GD lib 过滤器标准化 CSS 过滤器

    我想让用户拖动范围滑块并通过实时预览 CSS 滤镜 调整图像的亮度和对比度 然后使用 GD 库保存调整 但是 我似乎无法从 CSS 过滤器和 GD lib 亮度和对比度过滤器获得相同的结果 我的 CSS 过滤器范围为 50 150 其中 1
  • 如何使用 Bourbon Neat Framework 实现移动优先

    我一直在使用 bourbon clean 来进行桌面优先布局 效果很好 不过 我想做一个移动优先版本 从移动开始 然后逐步向上 默认网格为 12 列 对于移动设备 我通常使用 4 列网格 我尝试将网格更改为 4 列 然后扩展到 12 列 但
  • iPad Safari 100% 高度问题

    我的页面上有一个模态 div 它使背景变灰 如果我将overlay div的高度设置为100 它在IE 桌面 上工作正常 但在iPad Safari上 完整的高度不会变灰 究竟是什么问题 这与固定位置 视口有关吗 请帮忙 下面是相同的 CS
  • 使 css nth-child() 只影响可见

    有没有办法用这个CSS只影响可见元素 table grid tr alt nth child odd background ebeff4 table grid tr alt nth child even background ffffff
  • 如何使用 jQuery 在按下按钮后保持按钮处于活动状态

    我见过一些非常相似的问题 但一直无法找到我正在寻找的答案 我已经确定了解决方法 但想知道执行该任务的正确方法 我想要的是单击按钮并使活动状态保持不变 下一次单击将切换状态 这是所需的 我真正需要知道的是如何解决 uiButton activ
  • 如何在 Mac 的任何 webkit 中隐藏父圆角的画布内容?

    我有一个父母div带有圆角 其中包含canvas div div
  • 如何翻转 Twitter Bootstrap 的工具提示

    我正在使用 Twitter 的 Bootstrap 来实现工具提示 目前 工具提示显示在链接上方 我希望工具提示出现在链接下方 我该怎么做呢 我正在触发工具提示 它明确指出 底部 但它不想为我工作 tooltip tooltip place
  • IE8 中空 div 层的 z-index 问题

    我在 IE8 中遇到 z index 问题 其他尚未测试 以下 JS 创建一些 html css document write img src border 0 document write div style background col
  • 如何在不设置动画的情况下突然更改 CSS 动画中的属性

    这是我试图弄清楚的 但没有使用 51 关键帧作为实现更改的黑客方法transform origin 这里有一个小提琴演示 http jsfiddle net p7pswnpq keyframes spin 0 transform origi
  • 中心引导表宽度为 100%?

    table class table table striped table hover table responsive table
  • 响应式2列2行布局

    我一直在试图弄清楚如何创建这个布局 我有一个 2 列布局 左列有 1 行 右侧有 2 行 我试图让它流畅地调整 我遇到的问题是 我希望右侧顶部图像的顶部与左侧图像的顶部对齐 而底部图像的底部与左侧图像的底部保持对齐 我应该使用桌子吗 这是我
  • 优化 CSS 交付 - Google 的建议

    谷歌建议在 head 中使用非常重要的 CSS 内联 并在内部使用其他 CSS

随机推荐

  • 显示 WordPress 中最新的搜索词

    有没有办法显示我网站上最近完成的搜索词 我想显示访问者最近执行的 3 5 个搜索词 以便鼓励其他用户也搜索某些内容 Edit 在这种情况下 如果有人搜索新内容 刷新页面可能会显示一组新的搜索词 我确信至少有一些插件可以帮助您解决此问题 我会
  • ngx-bootstrap 日期选择器不起作用

    我正在学习 Angular2 和 Bootstrap4 我的公司使用以下网站 http valor software com ngx bootstrap datepicker http valor software com ngx boot
  • Blazor - Web 程序集加载时间

    我开发了 Blazor Server 服务器应用程序 客户显然不喜欢 无法重新连接到服务器 重新加载页面以恢复功能 的消息 这就是我尝试探索迁移到 Web Assembly 的原因 我正在努力 如何加快 Web 程序集加载时间 因为主页无法
  • C++ 预处理器输出中的 是什么?

    Summary C 预处理器输出包括一些行
  • 将固定宽度文本文件导入sqlite

    将固定宽度文本文件导入到 sqlite 表中 最好不使用外围软件 的好方法是什么 例如 指定每个字段的宽度 Field 1 10 characters starting with the second character Field 2 5
  • 如何在C#中调用需要证书的Web服务?

    我需要与具有以下权限的第三方进行通信 asmx网络服务 此 Web 服务使用 https 我有所需的证书 pfx 第一次尝试使用添加此服务时Add Service Reference在 Visual Studio 中 我收到错误 我通过将证
  • 禁用标准。 Python 沙箱实现中的文件 I/O 和文件 I/O

    我正在尝试设置 Python 沙箱并希望禁止访问标准和文件 I O 我正在运行的 Python 服务器内运行沙箱 我已经看过类似的模块RestrictedPython and PyPy 但是 我希望能够在正在运行的 Python 服务器内部
  • 当对象属性不存在时引发错误

    别名标题 对象属性的严格模式 我正在开发一个错误管理器 我希望它非常严格 假设您正在调用一个不存在的属性 这通常被解释为未定义 相反 它应该抛出一个错误 例如 var obj obj PI throw Error instead of un
  • Brew doctor:dyld:库未加载&错误:zlib 没有可用的公式

    When I brew doctor我收到以下错误 dyld Library not loaded usr lib libltdl 7 dylib Referenced from usr local bin php Reason image
  • 为什么我有 PUSH ecx?

    有人可以告诉我这两个的目的是什么吗push ecx下面的说明 我不明白他们到底要做什么 我意识到push epb正在保存堆栈基指针 然后mov epb esp正在将堆栈指针分配给前一个堆栈基指针 int main 01301190 push
  • UNIX 中 Java“包不存在”错误

    我的项目目录结构是这样的 ProjectName coursesRegistration src coursesRegistration util当我做 import coursesRegistration util FileProcess
  • 构建 GDAL 时出错:应定义 PROJ_INCLUDE。 PROJ >= 6 是必需的依赖项

    我正在尝试让 GDAL 3 0 1 正常工作 生成 Visual Studio 2017 项目是小菜一碟 我所需要的只是运行generate vcxproj bat 但现在我在这一行遇到错误makefile vc IF DEFINED PR
  • 设置 Gtk3 MenuItem 的悬停背景颜色

    我有一个带有弹出菜单的托盘图标 我正在尝试设置此弹出窗口中菜单项的背景颜色 我可以设置文本颜色 但不能设置菜单项的背景颜色 显示的背景是默认的 Ubuntu 橙色 我无法覆盖它 我创建了一个示例应用程序来演示这个问题 只需将其复制粘贴到 p
  • 我可以在 Visual Studio 2005 中使用 C# 创建透明按钮吗

    我有一个用户界面 需要在 C 项目中放置一些圆形按钮 并在其后面放置一些数据 这些按钮是 System Windows Forms buttons 我使用具有透明度的 GIF 图像来创建它们 然而 透明区域并不透明 我在网上查找了参考资料
  • 如何在单击按钮时从 JavaFX WebView 调用 JavaScript 函数?

    我正在尝试从 JavaFX 调用 JavaScript 函数WebView http docs oracle com javafx 2 api javafx scene web WebView html在 JavaFX 按钮单击事件上 我正
  • 哪个 .NET 类将多个 HTTP cookies 字符串解析为 CookieCollection 或 CookieContainer?

    我确信它已经存在于某个地方 只是找不到它 我想这听起来像是你想要的CookieContainer SetCookies method http msdn microsoft com en us library system net cook
  • 具有数字名称的枚举

    以下内容在 Python 中不起作用 class MemorySize int Enum 1024 1024 2048 2048 那么 在不必用文字输入整个数字并确保输入安全的情况下 最接近的方法是什么 From docs https do
  • CSS * {margin: 0;padding: 0;} 覆盖

    大家好 我需要一些帮助来弄清楚如何覆盖我的 css 中的 margin 0 padding 0 原因是我有这个CSS postcomments width 547px padding 5px 5px 5px 5px margin 0 0 5
  • 在 Android Wear OS 上保存和传输智能手表传感器数据(即 CSV)的最佳方式是什么?

    我为 Fossil Gen 6 智能手表编写了一个 Wear 应用程序 它从板载传感器中提取光电体积描记图 PPG 数据并不断更新屏幕上的值 这是我的onSensorChanged方法 它识别来自 PPG 传感器的事件并更新TextView
  • css 中的负边距:好的教程和技巧网站?

    当我查看网站时 CSS 方面之一有时让我感到困惑的是用于布局的负边距 我花了一段时间才明白设计师试图如何处理页面上的负边距 我的意思是一个页面有几个 div 其中几个使用负边距 我正在努力弄清楚它们 我使用Firebug更改值并查看效果 有