2021-03-11css 在父元素和子元素之间得应用(重难点)

html-css045

2021-03-11css 在父元素和子元素之间得应用(重难点),第1张

2.2、在父元素和子元素之间得应用(重难点)

1、父子之间水平距离

在子元素中设置margin-left,其值实际上是子元素的左边框距离父元素左padding内侧的距离。margin-right同理也是

在子元素中设置垂直方向得margin

-----问题:没有效果和父元素一块下来了

原因:实际上这是因为当父元素没有设置padding值以及border值时,出现了一个bug–父元素的上方与子元素的上方完全重合在了一起,无法分开。所以才会导致上述这种父元素和子元素同时向下的情况。

解决办法

前几天去猿辅导面试的css面试题,当时太紧张了,就想着怎么按百分比或者是位移搞,但是冷静下来,css复杂的定位就给元素包爸爸,几乎能解决一大票问题。

细致的描述问题:

一个父元素里面有四个子元素,按田字排列,子元素之间间距10px,和父元素之间的间距也是10px,父元素缩放时子元素要自适应。

解决思路就是父元素里面再包一层,来解决父元素和子元素间距10 的问题。

四个子元素分别再包一层b,b就负责宽高占父元素的50%,里面的b-inner,负责子元素之间的间距。用position absolute相对b进行定位,搞出间距,注意平分公共间距一个子元素应该位移的是5px。

设定CSS控制元素内部的元素之间间距,首先需要理解的就是css中的margin和padding的意思和使用,具体用法,如图:

元素内部的间距,需要的就是有多个div的嵌套,或者说是有多个上下类的元素,通过给这些元素一个id或者是class,然后在用css来控制,具体看下代码:

<html>

<head>

<style>

#round{

width:400px

height:200px

}

#div2{

width:300px

height:50px

margin-top:10px         //距离上边的距离是10px

margin-left:20px //距离左边的距离是20px

}

</style>

</head>

<body>

<div id="round">

<div id='div2'>

<p>测试文字</p>

</div>

</div>

</body>

</html>