前端面试题CSS-div宽度设置为100%,设置属性margin-left和margin-right时出现的问题

div格式如下

<div class="a"> <div class="b"></div> </div>

  1. css样式,子元素宽度等于父元素的宽,margin-left有效,margin-right无效

    .a{ width: 200px; height: 200px; background-color: chartreuse; margin: 100px auto; } .b{ width: 100%; height: 100%; margin-left: 20px; margin-right: 20px; border:2px solid brown; }

    运行效果如下:

    2.css样式,子元素宽度等于父元素宽度,margin-right无效

    .a{ width: 200px; height: 200px; background-color: chartreuse; margin: 100px auto; } .b{ width: 100%; height: 100%; margin-right: 20px; border:2px solid brown; }

    运行效果如下:

    3.css样式 ,子元素等于父元素的宽度,margin-left有效

    .a{ width: 200px; height: 200px; background-color: chartreuse; margin: 100px auto; } .b{ width: 100%; height: 100%; margin-left: 20px; border:2px solid brown; }

    运行效果如下:

    4.css样式,子元素的宽度加margin-left小于父元素的宽度,margin-left有效

    .a{ width: 200px; height: 200px; background-color: chartreuse; margin: 100px auto; } .b{ width: 50%; height: 100%; margin-left: 20px; border:2px solid brown; }

    运行效果如下:
  2. css样式,子元素宽度加margin-right小于父元素宽度,此时margin-right无效

    .a{ width: 200px; height: 200px; background-color: chartreuse; margin: 100px auto; } .b{ width: 50%; height: 100%; margin-right: 20px; border:2px solid brown; }

    运行效果如下:
  3. css样式 float:right使得margin-right有效

    .a{ width: 200px; height: 200px; background-color: chartreuse; margin: 100px auto; } .b{ width: 100%; height: 100%; float: right; margin-right:20px; border:2px solid brown; }

    运行效果如下:

总结

  1. 浏览器渲染是从左到右,从上到下排序的,当子元素的宽度加margin-left的值小于父元素的宽度时候,子元素在父元素内向右偏移margin-left的px值,此时margin-right默认铺满父元素的宽度
  2. 当子元素的宽度等于父元素宽度,即子元素铺满了整个父元素,此时margin-right是无效的,而margin-left有效,这是由于浏览器的渲染顺序决定的。
  3. 新手前端小白,请大佬指教。

前端面试题CSS-div宽度设置为100%,设置属性margin-left和margin-right时出现的问题的更多相关文章

  1. 前端面试题-CSS优先级

    一.选择器优先级 浏览器通过优先级来判断哪一些属性值与一个元素最为相关,从而在该元素上应用这些属性值.优先级是基于不同种类选择器组成的匹配规则. 二.优先级计算 优先级就是分配给指定的CSS声明的一个 ...

  2. 前端面试题-CSS选择器

    一.CSS选择器作用 CSS 选择器用于定位我们想要给予样式的 HTML 元素,但不只是在 CSS 中,JavaScript 对 CSS 的选择器也是支持的,比如 document.document. ...

  3. 前端面试题 ----css篇

    转载自https://www.cnblogs.com/zhangshuda/p/8465043.html,感谢原博主 1.css盒模型有哪些及区别content-box border-box padd ...

  4. 前端面试题CSS一(题目来源网络)

    一.什么是html5语义化? 使用合理,正确的html标签格式化文档. 二.CSS样式优先级? 就近原则,行内>内联>外联 三 什么是盒模型? 主要分为两种,w3c标准盒模型,IE标准模型 ...

  5. 前端面试题-CSS Hack

    一.CSS Hack的概念 由于不同厂商的流览器或某浏览器的不同版本(如IE,Firefox/Safari/Opera/Chrome等),对CSS的支持.解析不一样,导致在不同浏览器的环境中呈现出不一 ...

  6. 常见前端面试题CSS部分

    1.盒模型 IE 盒子模型:IE的width部分包含了 border 和 pading; 标准 W3C 盒子模型: width/height+border+padding+margin; 2.清除浮动 ...

  7. 金三银四求职季,前端面试题小梳理(HTML、CSS、JS)

    好久没写学习记录,最近太多事,又到一年求职季,都说金三银四求职季,自己也做一下最近学习的一些前端面试题梳理,还是个小白,写的不对请指正,不胜感激. HTML篇 html语义化 用语义化的代码标签书写, ...

  8. 前端面试题总结(二)CSS篇

    前端面试题总结(二)CSS篇 一.link和@import的区别? link属于HTML标签,可以引入出css以外的事务,如RSS,而@import是css提供的,只能加载css文件. link会在页 ...

  9. 前端面试题(HTML/CSS)

    (前端面试题大全,持续更新) 常用的块级元素和行内元素有哪些?说说他们的特点? 浮动产生的原因?清除浮动? 说说一下盒模型 float和position一起用是什么效果 rem用过吗?做不同手机的适配 ...

随机推荐

  1. 记录一个处理Excel的新插件:Alibaba Easy Excel

    EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目.在尽可能节约内存的情况下支持读写百M的Excel.github地址:https://github.com/alibaba/ ...

  2. 初识redis协议

    有关redis协议信息(https://redis.io/topics/protocol) 搭建环境 //jedis连接客户端 public class RedisClient { public st ...

  3. git操作之三:git reset

    在上篇文章中介绍了git restore命令,该命令的可以看作是撤销命令,文件在不同的状态下,使用git restore <file> 命令,会撤销对文件的修改,是文件回到修改前的状态也就 ...

  4. metasploit2 - vsftpd 漏洞攻击和拿shell

    一.环境说明 目标IP: 本人虚拟机 192.168.80.134 ,使用 metasploit2 攻击IP: 本人虚拟机 192.168.80.129 ,使用 kali Metasploitable ...

  5. day94:flask:Jinjia2模板引擎&flask中的CSRF攻击&Flask-SQLAlchemy的创建模型类和基本的增删改查

    目录 1.Jinjia2模板引擎 1.Jinjia2加载模板并传递数据到模板中 2.Jinjia2的模板语句 3.模板中特有的变量和函数 4.模板中内置的过滤器 5.自定义过滤器 6.模板继承 2.在 ...

  6. 文件误删了怎么办,EasyRecovery来帮忙

    哈喽大家好!又到了年底冲业绩的时候了,每逢这个时候,收拾自己的电脑就和收拾放假一样,令人头秃,不是这个文件丢了,就是那个数据没了,不管您是为论文头秃发愁的学生,还是朝九晚五的上班族,又或者是日进斗金的 ...

  7. Java数据结构(七)—— 排序算法

    排序算法(Sort Algorithm) 排序算法介绍和分类 将一组数据,依指定顺序进行排列 排序的分类 内部排序 指将需要处理的所有数据都加载到内部存储器中进行排序 外部排序 数据量过大,无法全部加 ...

  8. C语言讲义——头文件

    头文件.h Dev C++可以建C项目,也可以建C++项目,下面分C和C++两种情况讨论. c.h C语言中,头文件往往不是必须的,只是描述性的文件. 因此,C项目中可以没有.h文件. cpp.h 下 ...

  9. sqli-labs-master less01

    注:如未接触过sql注入,建议观看前期知识点文章 https://www.cnblogs.com/yyd-sun/p/12256407.html 第一关步骤 一.判断注入类型(数字/字符) (1).h ...

  10. web.xml之servlet与filter配置

    servlet配置 一个完整的servlet配置分为两块,< servlet >块和< servlet-mapping >块 < servlet > <ser ...