首页 > 其他分享 >前端 html 一个元素padding-right,不起作用?毫无反应?padding right 无效

前端 html 一个元素padding-right,不起作用?毫无反应?padding right 无效

时间:2024-02-21 18:46:23浏览次数:25  
标签:box right parent 元素 padding width html 20px

有没有宝子,开发html,给一个父元素padding-right,子元素却毫无反应,万分捉急,在线等,急!

我知道你着急,但是你先别急

我会在这里娓娓道来,带你走上一个新的技术台阶

1、一段基础代码

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body {
      padding: 0;
      margin: 0;
    }
    .parent {
      width: 100%;
      height: 300px;
      background-color: rgb(83, 145, 63);
    }
    .child {
      width: 100%;
      height: 200px;
      background-color: rgb(101, 210, 175);
    }
  </style>
</head>
<body>
  <div class="parent">
    <div class="child">
      child
    </div>
  </div>
</body>
</html>

代码执行效果如下

 

这里,parent元素  width: 100%; 占满了浏览器,child元素  width: 100%; 占满了parent。

 

2、这时,想child与parent有个20px的左边距,如下,给parent 添加要给padding-left: 20px;

.parent {       width: 100%;       height: 300px;       background-color: rgb(83, 145, 63);       padding-left: 20px;     }

 代码执行效果如下图:

 

3、得到了我们想要的效果,child偏移了20px,这时又想,child与parent有个20px的右边距,自然而然想到给parent 添加要给padding-right: 20px;

.parent {       width: 100%;       height: 300px;       background-color: rgb(83, 145, 63);       padding-left: 20px;       padding-right: 20px;     }  代码执行效果如下图:

没有得到预想的child对parent右偏移,但是偏移值是有效的,看图右下角圆圈。怎么回事?

 

4、先给出解决方法,给parent添加一行 box-sizing: border-box;

.parent {       width: 100%;       height: 300px;       background-color: rgb(83, 145, 63);       padding-left: 20px;       padding-right: 20px;       box-sizing: border-box;     }

 代码执行效果图

 得到了想要的偏移,看右小角圆圈:700的宽度变成了660,怎么回事?

 

5、首先得先理解html的盒子模型

看第一张图

 

看红色框,每个元素占据的空间,包括

  • Margin(外边距) -
  • Border(边框) - 
  • Padding(内边距) - 
  • Content(内容) -子元素能使用的空间

这里Margin、Border、Padding都是0,Content是700x300 

浏览器的宽度是700,Content内容区占据了全部的width,也就是700.

第二张图,给了一个padding

 Content内容区依然占据了全部的width:700. padding 的20没有起到什么作用。因为box-sizing 这个属性

box-sizing ,用于指定盒模型的计算方式,即如何计算元素的总宽度和总高度。它有以下两个常用的参数:

  1. content-box

    • 默认值。
    • 在计算元素的总宽度和总高度时,只包括内容区域(content area)的尺寸,不包括边框(border)和内边距(padding)。
    • 即元素的宽度和高度由内容的宽度和高度决定。
  2. border-box

    • 在计算元素的总宽度和总高度时,包括内容区域(content area)的尺寸、边框(border)和内边距(padding)。
    • 即元素的宽度和高度包括了边框和内边距,内容区域的尺寸会自动调整以适应剩余的空间

 于是,我们在第四张图,设置了box-sizing: border-box;

 Content内容区变成了660,两边padding分别是20,加起来是700

parent元素的Content内容区变成了660,child元素是其父元素的Content,所有只有660,效果就是有了左右的偏移。

 

两个重点:

1、元素with的计算方式

2、child元素是其父元素的Content,无法超出Content区

 

标签:box,right,parent,元素,padding,width,html,20px
From: https://www.cnblogs.com/littlecarry/p/18025979

相关文章

  • 使用html2Canvas截图网页时,网页存在图片报错:Tainted canvases may not be exported
     这是因为图片跨域产生的报错,看有的说法可以把所有图片进行允许跨域配置,但是比较麻烦。html2canvas有参数可以配置是否允许跨域 参数名称类型默认值描述allowTaintbooleanfalseWhethertoallowcross-originimagestotaintthecanvas---允许跨域background......
  • HTML
    1.2.2渲染引擎(了解)渲染引擎(浏览器内核):浏览器中专门对代码进行解析渲染的部分浏览器出品的公司不同,内在的揎染引也是不同的:浏览器内核备注IETrident1E、猎豹安全、360极速浏览器、百度浏览器FireFoxXGecko火狐浏览器内核SafariWebkit苹果浏览器内核Chrome/OperaB......
  • c#使用webView2 访问本地静态html资源跨域问题 || Cors
    背景在浏览器中访问本地静态资源html网页时,可能会遇到跨域问题如图。 是因为浏览器默认启用了同源策略,即只允许加载与当前网页具有相同源(协议、域名和端口)的内容。WebView2默认情况下启用了浏览器的同源策略,即只允许加载与主机相同源的内容。所以如果我们把静态资源发布到ii......
  • HTML <!DOCTYPE>标记
    原文链接:https://blog.csdn.net/wuxiaopengnihao1/article/details/126521900描述HTML <!DOCTYPE>标记一般放在HTML文档中的第一行。它告诉浏览器要编写文档的HTML版本,以便浏览器知道预期的内容。此标记通常也称为<!DOCTYPE>元素。句法<!DOCTYPE>标记的语法在所使用的HTML或XHTML......
  • html页面直接回显接口返回的图片文件流
    <imgsrc="http://127.0.0.1:8081/t1/img">@GetMapping("/img")@SneakyThrowspublicvoidtest01(HttpServletResponseresponse){Stringjp=Jie截屏.jp(0,0,300,200,"D:\\桌面文档\\123.png");......
  • 烟花html代码和灯笼代码
    来源:http://www.shanhubei.com/archives/13639.html一、烟花代码烟花从发射到绽放一共分为三个阶段: 发射阶段, 烟花绽放 , 烟花凋零 。<!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title></title> <metacharset="utf-8">......
  • 【总结】HTML+JS逆向混淆混合
    国外的题果然考的与众不同[secrypt_cen.html]这次是HTML网页,然后JS加密判断翻看JS代码很显然,关键的代码在checkPasswordJS混淆是必备的去混淆一条龙走起先将关键代码提取出来 JavaScript function_0x4857(_0x398c7a,_0x2b4590){const_0x104914= _0x25ec(......
  • MySQL字符串截取总结:Left()、Right()、Substring()、Substring_index()
    在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现比通过代码实现要更方便快捷些,mysql有很多字符串函数可以用来处理这些需求,如Mysql字符串截取总结:left()、right()、substring()、substring_index()。一.从左开始截取字符串用法:le......
  • HTML DOM addEventListener() 方法
    jsaddeventlistenerJavaScript是一种广泛应用于网页开发的脚本语言,具有灵活的语法和强大的功能。在网页中,我们经常需要处理用户的交互操作,例如点击按钮、输入文本等,而addEventListener方法就是用来处理这些事件的。1.jsaddEventListener方法的基本语法addEventListener是DOM......
  • (学习日记)一、Web框架-HTML标签-网页请求
    1.快速开发网站render_template是Flask框架的一个函数,用于渲染模板并生成动态的HTML文件app=Flask(name,template_floder(''路径''))构造一个Flask类赋给app,template_floder修改寻找模板的默认路径,默认是当前目录下的templates文件(没有则需要创建一个目录文件)fromflask......