css的绝对布局问题,怎么让子元素置于底部?

尝试写个简单的banner,将div设成了relative,然后想让里面的h1置于div的底部。
为什么只把h1设为absolute就自动跑到底部了?
#banner h1{ position:absolute; }
2.我给h1设置了top:0,h1也会置于底部;但是我要是设置bottom:0,反而跑到了顶部?为什么?
3.给h1设置top:100或者设置left:100都没有效果,为什么?

完整css代码

#banner{ background:url(images/topbg.gif); height:60px; position:relative; vertical-align:central; } #banner #ad{ position:absolute; top:0; right:0; } #banner h1{ position:absolute; top:100; left:100; }

谢谢~
html代码

<body>
<div id="banner">
<h1>Travel Guide</h1>
<img id="ad" src="images/ad.gif" alt="ad">
</div>

1、首先设置要了解网页页面布局框架结构,设定宽高和边框,以及设置好class或者ID名称。


2、打开Dreamweaver CS5,点击新建HTML。

3、根据设定的网页布局,设置div网页结构。

4、添加div标签的class名称,这里也可以使用ID类名。

5、 编辑CSS控制div块的宽高和背景。

6、 这样就可以让子元素置于底部。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-05-16
给子元素做定位。用position标签
示例:
<html>
<head>
<style type="text/css">
p.pos_abs
{
position:absolute;
left:100px;
top:150px
}
</style>
</head>
<body>
<p class="pos_abs">通过绝对定位,元素可以放置到页面上的任何位置。这段话设定为距离页面左侧 100px,距离页面顶部 150px。
</p>
</body>
</html>

方法属性设置:positon:absolute; left:100px; top:150px;
还可以用right 和 bottom left距离左边的意思 right距离右边的意思,top距离顶部的意思,bottom距离底部的意思。
这里要解释一下position有5个值可以选择,分别对应不同的页面进行设置
absolute :生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

fixed :生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。

relative :生成相对定位的元素,相对于其正常位置进行定位。
因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。

static :默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit :规定应该从父元素继承 position 属性的值。
第2个回答  2015-04-21
你想把H1放到底部是吧?
#banner h1{
position:absolute; top:23px; left:0px;
}追问

不行的 我把top设置成0,已经放在底部了 ,再设置成23px,就从底下突出去啦

我是想问为什么设成0,就已经在底部了;而bottom设成0,反而跑到了顶部?

追答

我这里是可以的额。。。整站的内外边距你有清么?*{margin:0; padding:0;}

第3个回答  推荐于2017-12-16
还是我来解答吧。
h元素是有默认样式的。你不奇怪为什么h元素没有设字体样式也会那么大吗?

你这个问题,把h1设个margin:0去掉它的默认边距就解决了本回答被网友采纳
第4个回答  2015-04-21
请问你的html代码呢?你这样写出来条理不明啊追问

已加 求帮忙看看 就是一个div 里面一个h1 和一张广告图片 但是广告我不纠结 我纠结的是h1位置 谢啦~

追答

#banner h1{
position:absolute;
top:100;
left:100;
}
我想跟你说的是,请问你的单位呢?

追问

。。。哦哦 单位单位 好~

1和2求解~

追答

对于你的

“为什么只把h1设为absolute就自动跑到底部了?

#banner h1{
            position:absolute;
        }

”我想说的是,你这样写的时候没有自动跑到底部,默认为top:0;left:0;并没有被背景图压住,不信你可以自己试试。


“我给h1设置了top:0,h1也会置于底部;”这个问题同上,不再解释,

“要是设置bottom:0,反而跑到了顶部?为什么?”这里h1只要绝对定位了不管是top值还是bottom值都会在div的上面,不会再div的下面。top是针对div最上面来说的距离,而bottom则是针对div最下面那一线来说的相对于底部的距离。画个图给你看或许更好理解:

所以一般定位只有两个值要么上下一个,左右一个


另外,若是你要定位在背景图之外,可以给bottom负值或者给top值大于div高度的值

追问

你这样写的时候没有自动跑到底部,默认为top:0;left:0;并没有被背景图压住,不信你可以自己试试

什么叫没有被背景图压住?h1本来就是在背景图上层的啊 这个我没有问题的 我是想问 为什么没有处于背景的底部

后面的话 基本上看不懂。。。 我没有讨论层 就是z轴

追答

你是想让h1里面的内容显示还是不想让h1里面的内容显示?

css的绝对布局问题,怎么让子元素置于底部?
1、首先设置要了解网页页面布局框架结构,设定宽高和边框,以及设置好class或者ID名称。2、打开Dreamweaver CS5,点击新建HTML。3、根据设定的网页布局,设置div网页结构。4、添加div标签的class名称,这里也可以使用ID类名。5、 编辑CSS控制div块的宽高和背景。6、 这样就可以让子元素置于底部。

网页CSS定位问题 ,如何让块bottom始终位于页面最下方了?
不要使用绝对定位,这种功能局限性很强,绝对定位就是说不管什么情况,被定位的块都会在页面的一个地方显示,但是要让某块始终位于最下方,LZ已经考虑了它相对与其他块的位置,所以我建议LZ使用相对位置,这是HTML编写的习惯问题,也是页面设计的第一步,要把所要安排的层按照从上到下从左到右的顺序来...

怎么让DIV在另一个DIV里靠底部显示?
absolute:绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于:sticky:ticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。position: sticky; 基于用户的滚动位置来定位。元素可以使用的顶部,底部,左侧和右侧属性定位。然而,这些属性无法工作,除非...

CSS如何让一个元素的背景色覆盖位于他下方元素的部分边框?
两种方法:绝对位置,进行定位处理,两个元素都相对于其父元素进行绝对定位。它们必须为同一父元素的子元素 负边距。此元素margin-bottom:-1px;即可覆盖下方元素的边框

css中怎么让div里面的文字底部对齐
两种办法,第一种可以作为默认选择。两种办法都可以让文字底部对齐。1、如果是文字或者其他块级元素。使用定位的思想。position:absolute,然后boottom:0。父元素注意要设置一下position:relative。因为绝对定位是相对于最近一个非static定位的元素的相对位置。 但是如果出现多个元素在同一父元素内 同时需要...

CSS flex 布局,头部和底部固定,中间出现滚动条
使用CSS flex布局实现头部和底部固定,中间部分具有滚动条的布局模式,主要步骤如下:首先,确保html和body元素的高度设置为100%,以便为子元素提供完整视口的高度。接着,通过将flex-direction属性设置为column,可以轻松实现顶部和底部固定,中间部分占据剩余100%空间的效果。在设置中间部分时,确保所有层元素...

CSS样式中如何理解绝对定位和相对定位?
绝对定位表示不管是几级元素,都以浏览器上边框(top),左边框(left),右边框(right),下边框(bottom)来定位..相对定位,则是以上一级父级元素为基准来定位.. 所以子div相对父div的定位用什么当然就要用 position:relative--相对定位了..margin表示 与上一级元素的上下左右之间留多少空间,如果是在相对定位...

css为什么设置决定定位子元素没有移动(就是首页简介这些没有移动)?
先给自己设置相对定位,再根据自己来进行绝对定位吗?首先你要理解的是:绝对定位是子级元素对应于父级来进行的绝对定位,先不说你的html布局写得就不合理,你连定位都写错了又怎么会有效果呢?像你这样的情况一般是用一个div把nav的所有span 包起来,然后把这个div来根据 banner 来进行定位。

css布局框架?
css的绝对布局问题,怎么让子元素置于底部?DIVid=containerDIid=contentContent请改变浏览器窗口的高度,以观察footer效果。这里是示例文字,DIV固定………,这里是示例文字。运用这个CSS把DIV永远置于页面的底部利用绝对定位,然后设置底部距离为0。首先我们新建一个html页面,在这个html代码页面创建一个标签,...

css绝对定位如何居中css绝对定位如何居中
HTML:CSS:重要:子元素的绝对位置是position:absolute,父元素的相对位置是position:relative。将顶部、底部、左侧和右侧的值设置为0,并将margin:auto。定位肯定会脱离文档流,这点要注意。HTML:CSS:重要:设置显示:父元素的flex布局,水平居中对齐-内容:居中,垂直居中对齐-项目:居中。HTML:CSS:重要:父...

相似回答