HTML正文边距0搞乱了div定位

HTML正文边距0搞乱了div定位,html,css,Html,Css,我对这里发生的事情有点困惑。我在css中将body margin设置为0,然后所有div元素像我希望的那样在屏幕上延伸,但我希望这只适用于一个。从上一个问题: 回答说使用position:absolute,然后改变div元素的位置。我以前在这些div元素上有position:relative,当我把它改为absolute时,它将所有div元素组合在一个位置上。我试着用底部移动它们:然后不管是什么像素,但还是没有移动。这是移动它的方式吗?我该怎么办?关于W3学校: 它告诉了我很多关于定位div元素

我对这里发生的事情有点困惑。我在css中将body margin设置为0,然后所有div元素像我希望的那样在屏幕上延伸,但我希望这只适用于一个。从上一个问题:

回答说使用position:absolute,然后改变div元素的位置。我以前在这些div元素上有position:relative,当我把它改为absolute时,它将所有div元素组合在一个位置上。我试着用底部移动它们:然后不管是什么像素,但还是没有移动。这是移动它的方式吗?我该怎么办?关于W3学校:

它告诉了我很多关于定位div元素的信息,但是当我尝试使用它时,它在我尝试的一个div元素上不起作用,而是重叠了它

如何移动这些div元素

代码CSS

#middle-4{
    position:absolute;
    left:0;
    right:8;
    bottom:0;
    top:-800px;}
代码HTML

    <div id="middle-4" style="background-image: url(images/Home/rock.png); height: 540px; width: 1348px; border: 1px solid black;"></div>


这样做是因为您最多可以看到4个div元素。

如果我正确理解您的问题,您希望所有元素都符合默认的
正文
边距,但一个元素(或使用一个类的多个元素)除外

我会这样做

  • body
    一个特定的边距,以确保它在不同浏览器中保持一致
  • 使用负水平边距将元素拉出
    body
正文{
利润率:8px;
背景:浅绿色;
}
div{
背景:浅蓝色;
填充:30px;
边框底部:1px纯蓝色;
}
.全宽{
左边距:-8px;
右边距:-8px;
}
我被身体束缚住了
我是全宽的

我受body约束
如果我正确理解了您的问题,您希望所有元素都符合默认的
body
边距,但一个元素(或使用类的多个元素)除外

我会这样做

  • body
    一个特定的边距,以确保它在不同浏览器中保持一致
  • 使用负水平边距将元素拉出
    body
正文{
利润率:8px;
背景:浅绿色;
}
div{
背景:浅蓝色;
填充:30px;
边框底部:1px纯蓝色;
}
.全宽{
左边距:-8px;
右边距:-8px;
}
我被身体束缚住了
我是全宽的

我受body约束
如果我正确理解了您的问题,您希望所有元素都符合默认的
body
边距,但一个元素(或使用类的多个元素)除外

我会这样做

  • body
    一个特定的边距,以确保它在不同浏览器中保持一致
  • 使用负水平边距将元素拉出
    body
正文{
利润率:8px;
背景:浅绿色;
}
div{
背景:浅蓝色;
填充:30px;
边框底部:1px纯蓝色;
}
.全宽{
左边距:-8px;
右边距:-8px;
}
我被身体束缚住了
我是全宽的

我受body约束
如果我正确理解了您的问题,您希望所有元素都符合默认的
body
边距,但一个元素(或使用类的多个元素)除外

我会这样做

  • body
    一个特定的边距,以确保它在不同浏览器中保持一致
  • 使用负水平边距将元素拉出
    body
正文{
利润率:8px;
背景:浅绿色;
}
div{
背景:浅蓝色;
填充:30px;
边框底部:1px纯蓝色;
}
.全宽{
左边距:-8px;
右边距:-8px;
}
我被身体束缚住了
我是全宽的

我受body约束
在body上设置边距只能确保uʍopǝpısdn提到的跨浏览器一致性

如果您有4个div,每个div包含一个图像,您应该坚持位置:relative-这将使div/图像垂直排列在彼此的顶部

您的问题可能与图像大小有关-如果您希望所有图像保持其原始大小,则可以按照示例“middle-4”中的指定,保留其宽度和高度属性:高度:540px;宽度:1348px

但是-如果希望一个div/图像在主体/屏幕的宽度上延伸,则必须应用百分比大小-这可以通过两种方式完成:

CSS3-您有“cover”或“contain”选项,可以在您现在进行操作时应用于div-示例:

div  {
    background: url(images/Home/rock.png);
    background-repeat: no-repeat;
    background-position: center; 
    background-size: cover; 
}
<img src="images/Home/rock.png" class="img_width" /> 

.img_width {
    width: 100%; 
    height: auto; 
}
CSS2-您可以将一个类应用于图像本身,而忽略周围的div-示例:

div  {
    background: url(images/Home/rock.png);
    background-repeat: no-repeat;
    background-position: center; 
    background-size: cover; 
}
<img src="images/Home/rock.png" class="img_width" /> 

.img_width {
    width: 100%; 
    height: auto; 
}

.img_宽度{
宽度:100%;
高度:自动;
}

如uʍopǝpısdn所述,在正文上设置边距只能确保跨浏览器的一致性

如果您有4个div,每个div包含一个图像,您应该坚持位置:relative-这将使div/图像垂直排列在彼此的顶部

您的问题可能与图像大小有关-如果您希望所有图像保持其原始大小,则可以按照示例“middle-4”中的指定,保留其宽度和高度属性:高度:540px;宽度:1348px

但是-如果希望一个div/图像在主体/屏幕的宽度上延伸,则必须应用百分比大小-这可以通过两种方式完成:

CSS3-您有“cover”或“contain”选项,可以在您现在进行操作时应用于div-示例:

div  {
    background: url(images/Home/rock.png);
    background-repeat: no-repeat;
    background-position: center; 
    background-size: cover; 
}
<img src="images/Home/rock.png" class="img_width" /> 

.img_width {
    width: 100%; 
    height: auto; 
}
CSS2-您可以将一个类应用于图像本身,而忽略周围的div-示例:

div  {
    background: url(images/Home/rock.png);
    background-repeat: no-repeat;
    background-position: center; 
    background-size: cover; 
}
<img src="images/Home/rock.png" class="img_width" /> 

.img_width {
    width: 100%; 
    height: auto; 
}

.img_宽度{
宽度:100%;
高度:自动;
}

如uʍopǝpısdn所述,在正文上设置边距只能确保跨浏览器的一致性

如果您有4个div,每个div包含一个图像,那么您应该坚持position:relative-这将对齐div/图像