首页 > 其他分享 >element-ui栅格系统之margin为负值的情况总结

element-ui栅格系统之margin为负值的情况总结

时间:2023-02-02 20:32:58浏览次数:55  
标签:margin height 栅格 1px ui 偏移 element border 200px

1. 前言

在css布局中margin是一个使用频率比较高的属性,通常我们都是赋值为正数,但是在使用element-ui的栅格系统时,我们经常会发现源码中有使用margin-left和margin-right为负数的情况,特针此进行总结,了解一下margin背后那些不为人知的奇技淫巧。

element-ui栅格系统之margin为负值的情况总结_css

2. margin-top为负值的情况

2.1 代码

// css* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body,
html {
height: 100%;
}
h2 {
text-align: center;
}
/*父元素样式*/
.p {
margin: 100px auto;
width: 500px;
height: 500px;
border: 1px solid red;
background-color: #ccc;
}

.c1 {
width: 200px;
height: 200px;
border: 1px solid blue;
margin-top: -20px;
/* 此处的百分数是以父级作为参考的 500 * 20% = 100 */
/* margin-top: -20%; */
}

.c2 {
width: 200px;
height: 200px;
border: 1px solid green;
}
// html
<div class="p">
<div class="c1">
子元素1(自身会向上偏移)
</div>
<div class="c2">
子元素2(跟着上偏移)
</div>
</div>

此时的效果如下:

element-ui栅格系统之margin为负值的情况总结_html_02

2.2 结论

自身会向上偏移,后面排列的元素跟着向上偏移

3. margin-bottom为负数的情况

3.1 代码

// css* {  margin: 0;
padding: 0;
box-sizing: border-box;
}

body,
html {
height: 100%;
}
h2 {
text-align: center;
}
/*父元素样式*/
.p {
margin: 100px auto;
width: 500px;
height: 500px;
border: 1px solid red;
background-color: #ccc;
}

.c1 {
width: 200px;
height: 200px;
border: 1px solid blue;
margin-bottom: -20px;
}

.c2 {
width: 200px;
height: 200px;
border: 1px solid green;
}
// html
<div class="p">
<div class="c1">
子元素1(自身无偏移)
</div>
<div class="c2">
子元素2(向上发生偏移)
</div>
</div>

此时的效果如下:

element-ui栅格系统之margin为负值的情况总结_css_03

3.2 结论

自身无偏移,后面的元素向上发生偏移

4. margin-left为负数且设置固定宽度的情况

4.1 代码

* {  margin: 0;  padding: 0;  box-sizing: border-box;
}

body,
html {
height: 100%;
}
h2 {
text-align: center;
}
/*父元素样式*/
.p {
margin: 100px auto;
width: 500px;
height: 500px;
border: 1px solid red;
background-color: #ccc;
}

.c1 {
width: 200px;
height: 200px;
border: 1px solid blue;
margin-left: -20px;
/* 此处的百分数是以父级作为参考的 500 * 20% = 100 */
/* margin-left: -20%; */
float: left;
}

.c2 {
width: 200px;
height: 200px;
border: 1px solid green;
float: left;
}
// html
<div class="p">
<div class="c1">
子元素1(自身向左偏移 )
</div>
<div class="c2">
子元素2(跟着向左偏移)
</div>
</div>

此时的效果如下:

element-ui栅格系统之margin为负值的情况总结_html_04

4.2 结论

自身向左偏移,后面排列的元素跟着向左发生偏移

5. margin-left为负数且不设置固定宽度的情况

5.1 代码

* {  margin: 0;  padding: 0;  box-sizing: border-box;}

body,
html {
height: 100%;
}
h2 {
text-align: center;
}
/*父元素样式*/
.p {
margin: 100px auto;
width: 500px;
height: 500px;
border: 1px solid red;
background-color: #ccc;
}

.c1 {
height: 200px;
border: 1px solid blue;
/**左侧会延宽*/
margin-left: -20px;
/* 此处的百分数是以父级作为参考的 500 * 20% = 100 */
/* margin-left: -20%; */
}
// html
<div class="p">
<div class="c1">
子元素1(自身向左偏移 )
</div>
</div>

此时的效果如下:

element-ui栅格系统之margin为负值的情况总结_css_05

5.2 结论

自身的宽度向左延宽了

6. margin-right为负数且设置固定宽度的情况

6.1 代码

* {  margin: 0;  padding: 0;  box-sizing: border-box;}body,
html {
height: 100%;
}
h2 {
text-align: center;
}
/*父元素样式*/
.p {
margin: 100px auto;
width: 500px;
height: 500px;
border: 1px solid red;
background-color: #ccc;
}

.c1 {
width: 200px;
height: 200px;
border: 1px solid blue;
margin-right: -20px;
/* 此处的百分数是以父级作为参考的 500 * 20% = 100 */
/* margin-right: -20%; */
float: left;
}

.c2 {
width: 200px;
height: 200px;
border: 1px solid green;
float: left;
}
// html
<div class="p">
<div class="c1">
子元素1(自身没有发生偏移)
</div>
<div class="c2">
子元素2(后面排列的元素想左发生了偏移)
</div>
</div>

此时的效果如下:

element-ui栅格系统之margin为负值的情况总结_html_06

6.2 结论

自身没有发生偏移,后面的元素向左偏移了

7. margin-right为负数且不设置固定宽度的情况

7.1 代码

* {  margin: 0;  padding: 0;  box-sizing: border-box;}body,html {
height: 100%;
}

h2 {
text-align: center;
}

/*父元素样式*/
.p {
margin: 100px auto;
width: 500px;
height: 500px;
border: 1px solid red;
background-color: #ccc;
}

.c1 {
height: 200px;
border: 1px solid blue;
/**右侧会延宽*/
margin-right: -20px;
/* 此处的百分数是以父级作为参考的 500 * 20% = 100 */
/* margin-left: -20%; */
}
// html
<div class="p">
<div class="c1">
子元素1
</div>
</div>

此时的效果如下:

element-ui栅格系统之margin为负值的情况总结_固定宽度_07

7.2 结论

自身的宽度向右延宽了

8. 总结

  1. margin负值场景总结

标签:margin,height,栅格,1px,ui,偏移,element,border,200px
From: https://blog.51cto.com/u_11871779/6033858

相关文章

  • containerd 镜像构建工具 -- nerdctl 和 buildkit
    目录自我介绍nerdctl精简版使用方法配置nerdctl参数自动补齐nerdctl命令验证nerdctl完整版使用方法nerdcrtl构建镜像自我介绍kubernetes在1.24版本之后就要抛......
  • 玩转web3第二篇——Web3UI Kit
    介绍开发web2应用的时候,可以很方便找到很多优秀的UI库,比如antd,materialui,elementui等等,但web3应用对应的UI库却不多。今天给大家介绍一款优秀的WEB3的UI库——Web3UIK......
  • veeam备份时报错Failed to send certificate, but certificate is required for remot
      解决:本机策略里打开NTLM传入限制,允许所有,就OK了 ......
  • C++性能优化 —— __builtin_prefetch()
    C++性能优化——__builtin_prefetch()数据预读References__builtin_prefetch()Prefetchingwith__builtin_prefetchDataPrefetch数据预取一、什么是__builtin......
  • 执行gulp build报错
    问题与分析在执行​​gulpbuild​​报错如下:D:\coding\Resume\Resumes>gulpbuildgulpbuild[5628]:src\node_contextify.cc:628:Assertion`args[1]->IsString()'faile......
  • gp4版本安装uuid函数
    1.确认gp的安装目录有python文件夹cd/usr/local/greenplum-db-4.3.17.1/ext/2.安装python扩展      createlangplpythonu-ddatabasename图中的错误提示是......
  • ASP.NET Core+Element+SQL Server开发校园图书管理系统(三)
    随着技术的进步,跨平台开发已经成为了标配,在此大背景下,ASP.NETCore也应运而生。本文主要基于ASP.NETCore+Element+SqlServer开发一个校园图书管理系统为例,简述基于MVC三......
  • 大数据实时多维OLAP分析数据库Apache Druid入门分享-下
    @目录架构核心架构外部依赖核心内容roll-up预聚合列式存储Datasource和Segments位图索引数据摄取查询集群部署部署规划前置条件MySQL配置HDFS配置Zookeeper配置启动集群导......
  • vue+elementui实现tab多表单提交
    使用场景:同页面中下tab栏切换多个form表单组件,只有一个提交按钮,各组件下的表单数据分别提交,tab栏的兄弟组件传值。实现方式:父组件通过两次调用$refs获取子组件的方法。......
  • i.MX6ULL - Buildroot根文件系统构建步骤
    i.MX6ULL-Buildroot根文件系统构建步骤目录​​i.MX6ULL-Buildroot根文件系统构建步骤​​​​1、源码获取​​​​2、配置​​​​1、目标属性:Targetoptions--->​​......