2014-09-25 42 views
-4

请查看我的代码并说出为什么div“bildunterschrift”不会显示在“bild”div中。它始终在整个屏幕右边缘的父div之外。我想在“bild”div的右下角有div“bildunterschrift”。div div中的HTML div

我的代码:

<!--HTML code--> 

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 
<title>CSS3: Bild mit Bildbeschriftung</title> 
<link href="design2.css" type="text/css" rel="stylesheet"/> 

</head> 

<body> 

<h1>CSS3: Bild mit Beschriftung <i>via</i> CSS3</h1> 

<div id="bild"> 

<div id="bildunterschrift"> 
    Hundewelpe 
</div> 

</div> 

</body> 

</html>  



/* CSS code */ 

#bild 
{ 
background-color:hsla(0,100%,0%,1); 
height:340px; 
width:320px; 
} 
#bildunterschrift 
{ 
height:40px; 
width:320px; 
color:hsla(0,0%,0%,0.8); 
background-color:hsla(90,100%,60%,1); 
position:absolute; 
right:0px; 
bottom:0px; 
font-size:30px; 
} 
+0

怎么样'顶:0'? – Benjamin 2014-09-25 09:46:57

+1

您已将其定位为“绝对”。使用'position:relative'将元素定位到第一个父元素。 – PeeHaa 2014-09-25 09:48:13

+0

@Benjamin然后div“bildunterschrift”在整个屏幕的右边缘。 :/ – 2014-09-25 09:49:47

回答

3

添加position: relative;#bild

的jsfiddle - DEMO

#bild { 
    background-color:hsla(0, 100%, 0%, 1); 
    height:340px; 
    width:320px; 
    position: relative; 
} 
+1

它的工作原理! thx为您的快速答案。 – 2014-09-25 09:51:24

0

改变这样的,并尝试: #bildunterschrift { margin-top:295px;

height:40px;

width:320px;

color:hsla(0,0%,0%,0.8);

background-color:hsla(90,100%,60%,1);

float:right;

right:0px;

bottom:0px;

font-size:30px;

}

0

试试这个

#bild { 
 

 
    background-color: hsla(0, 100%, 0%, 1); 
 

 
    height: 340px; 
 

 
    width: 320px; 
 

 
    position: relative; 
 

 
} 
 

 
#bildunterschrift { 
 

 
    height: 40px; 
 

 
    width: 320px; 
 

 
    color: hsla(0, 0%, 0%, 0.8); 
 

 
    background-color: hsla(90, 100%, 60%, 1); 
 

 
    position: absolute; 
 

 
    right: 0px; 
 

 
    bottom: 0px; 
 

 
    font-size: 30px; 
 

 
}
<h1>CSS3: Bild mit Beschriftung <i>via</i> CSS3</h1> 
 

 
<div id="bild"> 
 

 
    <div id="bildunterschrift"> 
 
    Hundewelpe 
 
    </div> 
 

 
</div>