Css два фоновых изображения
Вид нового для css, но у меня есть одно изображение, которое я хочу в верхнем левом углу, а затем другое изображение, которое я хочу повторить после этого. В настоящее время я устал:
CSS
#topsection{
background: url('../images/bannerBGs.jpg');
background-repeat:no-repeat;
background: url('../images/bannerBGl.jpg');
background-repeat:repeat-x;
height: 200px; /*Height of top section*/
color: White;
text-align:center
}
#topsection a{
color: #FFFF80;
}
#topsection h1{
margin: 0;
padding-top: 25px;
text-align:Left
}
#topsection h2{
margin: 0;
padding-top: 0px;
text-align:Center
}
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>IG Indy Gamers</title>
<link rel="stylesheet" type="text/css" href="CSS/mycss.css" media="screen" />
</head>
<body>
<div id="maincontainer">
<div id="topsection" > <div class="innertube">
<h1>IG -Indy Gamers </h1>
<FONT style="BACKGROUND-COLOR: blue"><p align='right'><a href="#">  Signup</a> </font> / <a href='Login.html' id='LoginContent' >Login </a></p>
<ul id="list-nav">
<li><a href="#">Home</a></li>
<li><a href="#">Reviews</a></li>
<li><a href="#">News</a></li>
<li><a href="#">Forums</a></li>
<li><a href="#">Demo's</a></li>
<li><a href="#">Members</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div></div>
но второе изображение просто копируется поверх первого. Можете ли вы предложить другой способ сделать это. Я слышал, что использование слоев может это сделать, но я пока ничего не знаю об этом.
Ответы
Ответ 1
Похоже, CSS3 поддерживает несколько фоновых изображений; вы указываете их через запятую:
background: url('banner1.jpg'), url('banner2.jpg');
background-position: left top, left top;
background-repeat: no-repeat, repeat;
Играйте с background-position
, пока он не сделает то, что вы хотите.
IE < 9 не поддерживает эту функцию.
Ответ 2
Вам нужно будет создать 2 элемента: 1 для повторяющегося изображения. И второй для изображения в левом верхнем углу.
Другими словами, что-то по строкам:
<div class="repeatingBgImage">
<div class="otherBgImage">
<!-- content -->
</div>
</div>
CSS работает в каскадной манере. Все, что вы объявляете, может и будет перезаписано следующей строкой в инструкции, т.е.
.someClass {
color: yellow;
color: blue;
}
Конечный цвет текста будет синим, а не зеленым (желтый + синий = зеленый).
Учитывая ваш образец...
#topsection{
background: url('../images/bannerBGs.jpg');
background-repeat:no-repeat;
background: url('../images/bannerBGl.jpg');
background-repeat:repeat-x;
}
... фоновое изображение всегда будет bannerBGl.jpg
и repeat-x
, так как оно меньше в объявлении CSS, таким образом перезаписывая предыдущее изображение bg и повторяя объявление.
Ответ 3
Если вы ориентируетесь на новые браузеры, css3 теперь может применять два фоновых изображения для одного элемента. Вы можете проверить этот вариант
http://www.css3.info/preview/multiple-backgrounds/
Ответ 4
вы css
/*TOPSECTION */
#topsection{
background: url('../images/bannerBGs.jpg');
background-repeat:no-repeat;
background: url('../images/bannerBGl.jpg');
background-repeat:repeat-x;
height: 200px; /*Height of top section*/
color: White;
text-align:center
}
попробуйте это
background-image:url('../images/bannerBGs.jpg'),url('../images/bannerBGl.jpg');
background-repeat: no-repeat, repeat-x;
background-position: left top , 20px 30px;
//background-position adjust second value which in px until you meet your requirment
Спасибо!