фон по диагонали
Вложений: 1
Как зделать повторяющийся от центра фон по диагонали с помощью однопиксельной картинки. При этом фон должен быть резиновым по высоте.
Вот пример фона :help: |
Цитата:
|
попиксельно рисуем фон на canvas с помощью одного однопиксельного img, который для каждой точки меняем с помощью data: url
var a = ['О', 'П', 'Ж', 'А'];
alert(a[0].replace('О', 'в')+a[1].replace('П', 'е')+a[2].replace('Ж', 'ч')+a[3].replace('А', 'н')+a[0].replace('О', 'о')+a[1].replace('П', 'с')+a[2].replace('Ж', 'т')+a[3].replace('А', 'ь'))
ну как? :) |
Из картики 1x1 пиксель не сделать такой фон.
Подобный фон можно сделать векторной графикой - VML/SVG |
Logo, не только, можно даже с градиентом :D
<script type="text/javascript">
window.onload = function(){
var i = 0;
(function(){
for(j=0; j<15; j++){
if(++i <= document.documentElement.clientHeight){
var element = document.createElement('div');
element.style.cssText = 'background: #'+0+j+j+j+j+j+'; top:'+i+'px; left:'+i+'px';
document.body.appendChild(element);
setTimeout(arguments.callee, 10);
}
}
})();
};
</script>
<style type="text/css">
body {background: red;}
div {
position: absolute;
color: white;
text-align: center;
width: 50px;
height: 50px;
}
</style>
<div></div>
|
или даже что-то высоко художественное, без всяких canvas :D
<script type="text/javascript">
window.onload = function(){
var div = document.getElementsByTagName('div')[0], square = document.body.offsetWidth, i = 0;
(function(){
if(i++<square){
for(j=0; j<15; j++){
var element = document.createElement('div');
element.style.top = 50+50*Math.sin(20*(i+Math.PI/2)*20)+'px';
element.style.left = i+'px';
element.style.background = '#'+i+i+0+j+i+i;
document.body.appendChild(element);
}
}
window.setTimeout(arguments.callee, 1);
})();
};
</script>
<style type="text/css">
body {background: #DDD;}
div {
position: absolute;
width: 8px;
height: 8px;
}
</style>
|
Я дико извиняюсь за дачу ложной информации;) Я имел ввиду, что 1px - высота картинки, а ширина 1000px
|
Нужно чтобы эта фоновая картина при каждой прорисовке вниз, меняла позицию на 1px влево
|
В таком случае надо вручную(не совсем конечно) сделать изображение в полный цикл и поэксперементировать с pngout. Есть вероятность что результирующий вес будет немногим больше оригинала.
|
а чего, я вот квадратный градиент в вакууме нарисовал (осторожно, браузер может уйти в себя и не вернуться)
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<style type="text/css">
div {
width: 1px;
height: 1px;
overflow: hidden;
float: left;
}
</style>
<script>
for( var j=0; j<128; j++ )
for( var k=j; k<j+128; k++ ){
var div = document.createElement('div');
div.style.background = 'rgb('+[0,0,k].join(',')+')';
if( k == j )
div.style.clear = 'left';
document.body.appendChild( div );
}
</script>
</body>
</html>
|
| Часовой пояс GMT +3, время: 06:08. |