想要以绝对子值响应父div高度

时间:2017-02-12 02:26:34

标签: html5 css3

我使用html和css3创建了幻灯片。但问题是,当我为子内容设置绝对值时,父div高度不起作用,并且还希望根据图像高度响应高度。

这是我的代码

/*slideshow start*/
/* fade slider */
.slides {
height:100%;
position:relative;
min-width: 100%;
//top:-110px;
overflow:hidden;
border: solid 1px #000;
}
.innerdiv
{
	width:100% !important;
	height:100% !important;
	background-size: cover !important;
}
.slides ul {
list-style:none;
position:relative;
height:auto;
margin:0px;
padding:0px;
padding-bottom:0px !important;
margin-bottom:0px !important;
}


/* keyframes #anim_slides */
@-webkit-keyframes anim_slides {
0% {
opacity:0;
}
6% {
opacity:1;
}
24% {
opacity:1;
}
30% {
opacity:0;
}
100% {
opacity:0;
}
}
@-moz-keyframes anim_slides {
0% {
opacity:0;
}
6% {
opacity:1;
}
24% {
opacity:1;
}
30% {
opacity:0;
}
100% {
opacity:0;
}
}
.slides ul li {
opacity:0;
position:absolute;
top:0;
width:100%;
height:auto;
padding-bottom:0px !important;
margin-bottom:0px !important;
/* css3 animation */
-webkit-animation-name: anim_slides;
-webkit-animation-duration: 24.0s;
-webkit-animation-timing-function: linear;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: normal;
-webkit-animation-delay: 0;
-webkit-animation-play-state: running;
-webkit-animation-fill-mode: forwards;
-moz-animation-name: anim_slides;
-moz-animation-duration: 24.0s;
-moz-animation-timing-function: linear;
-moz-animation-iteration-count: infinite;
-moz-animation-direction: normal;
-moz-animation-delay: 0;
-moz-animation-play-state: running;
-moz-animation-fill-mode: forwards;
}
/* css3 delays */
.slides ul  li:nth-child(2), .slides ul  li:nth-child(2) div {
-webkit-animation-delay: 6.0s;
-moz-animation-delay: 6.0s;
}
.slides ul  li:nth-child(3), .slides ul  li:nth-child(3) div {
-webkit-animation-delay: 12.0s;
-moz-animation-delay: 12.0s;
}
.slides ul  li:nth-child(4), .slides ul  li:nth-child(4) div {
-webkit-animation-delay: 18.0s;
-moz-animation-delay: 18.0s;
}
.slides ul li img {
display:block;
width:100%;
padding-bottom:0px !important;
margin-bottom:0px !important;
height:100%;
}
/* keyframes #anim_titles */
@-webkit-keyframes anim_titles {
0% {
left:100%;
opacity:0;
}
5% {
left:1%;
opacity:1;
}
20% {
left:1%;
opacity:1;
}
25% {
left:100%;
opacity:0;
}
100% {
left:100%;
opacity:0;
}
}
@-moz-keyframes anim_titles {
0% {
left:100%;
opacity:0;
}
5% {
left:1%;
opacity:1;
}
20% {
left:1%;
opacity:1;
}
25% {
left:100%;
opacity:0;
}
100% {
left:100%;
opacity:0;
}
}
.slides ul li div {
background-color:#d79e37;
box-shadow:5px 5px 15px #282828;
color:#FFFFFF;
font-size:26px;
padding:20px;
position:absolute;
left:0px !important;
margin:0px !important;
top:20%;
width:50%;
/* css3 animation */
-webkit-animation-name: anim_titles;
-webkit-animation-duration: 24.0s;
-webkit-animation-timing-function: linear;
-webkit-animation-iteration-count: infinite;
-webkit-animation-direction: normal;
-webkit-animation-delay: 0;
-webkit-animation-play-state: running;
-webkit-animation-fill-mode: forwards;
-moz-animation-name: anim_titles;
-moz-animation-duration: 24.0s;
-moz-animation-timing-function: linear;
-moz-animation-iteration-count: infinite;
-moz-animation-direction: normal;
-moz-animation-delay: 0;
-moz-animation-play-state: running;
-moz-animation-fill-mode: forwards;
}
.slides ul li div h2
{
	font-size:230%;
	text-height:50px !important;
	font-weight:bold;
	padding-bottom:0px !important;
	margin-bottom:0px !important;
	margin-top:0px !important;

}
.slides ul li div h3
{
	
	margin-top:5px !important;
	color:#000;
	font-weight:bold;
	text-height:60px !important;
	font-size:300%;
}
/*slideshow end*/
<div class="slides">
			<div class="innerdiv">
				<ul> <!-- slides -->
					<li><img src="images/banner1.jpg" alt="image01" />
						<div><h2>ASPHALT DRUM MIX</h2><h3>PLANT</h3></div>
					</li>
					<li><img src="images/banner2.jpg" alt="image02" />
						<div><h2>AEW CONCRETE</h2><h3>BATCHING PLANT</h3></div>
					</li>
					<li><img src="images/banner3.jpg" alt="image03" />
						<div><h2>AEW</h2><h3>BROOMER</h3></div>
					</li>
					<li><img src="images/banner4.jpg" alt="image04" />
						<div><h2>AEW PAVER</h2><h3>FINISHER</h3></div>
					</li>
				</ul>
			</div>
		</div>

1 个答案:

答案 0 :(得分:0)

您是否尝试从.slides类中删除overflow: hidden?这至少使您的幻灯片可见,并可能解决您的问题。