Фильтр по:
  

  • Страница 1 из 1
  • 1
Модератор форума: likbezz, Flesh  
Скрипты и коды для юкоз - Форум аццкого кодера » Вопросы по верстке, дизайну, управлению и настройки модулей СMS от uCoz » Общая тема по вопросам верстке и дизайну... » как сделать фиксацию (как зафиксировать фон в мозилле)
как сделать фиксацию
Дата: Воскресенье, 30.05.2010, 23:55 |
SerPaladin
Рядовой
Группа: Пользователи
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline


здраствуйте, подскажите что нужно изменить для того чтобы зафиксировать фон в мозилле и других браузерах ( в опере всё нормально работает)

Code
<html><head>
<meta content="text/html; charset=UTF-8" http-equiv="content-type">
<title>$SITE_NAME$ - $MODULE_NAME$</title>
<?$META_DESCRIPTION$?>
<link type="text/css" rel="StyleSheet" href="/_st/my.css">
</head><body style="background: none repeat fixed rgb(0, 0, 0); margin: 0px; padding: 0px; fixed;"><!--
/**
http://denis-osadchiy.at.ua/ Template Style ヅ
Date: 07.05.2010
Updated by: Flesh Team
HTML Document
**/
-->
<script type="text/javascript">
<!--
var x,y;
var numBg = Math.floor(Math.random() * 6); // Количество картинок + 1
// общий синтаксис
if (self.innerHeight) {
  x = self.innerWidth;
  y = self.innerHeight;
// IE 6 Strict Mode
} else if (document.documentElement && document.documentElement.clientHeight) {
  x = document.documentElement.clientWidth;
  y = document.documentElement.clientHeight;
// Остальные версии IE
} else if (document.body) {
  x = document.body.clientWidth;
  y = document.body.clientHeight;
}
//-->
</script>
<script type="text/javascript">
document.write('<style>');
if (x >= 1 && x < 1200) {document.write('#clientWidth{background:url(http://denis-osadchiy.at.ua/Fon/1/1024x768.jpg) no-repeat top center;width:'+x+'px; height:'+y+'px;background-attachment: fixed;}');}
     if (x >= 1200 && x < 1480) {document.write('#clientWidth{background:url(http://denis-osadchiy.at.ua/Fon/1/1440x900.jpg) no-repeat top center;width:'+x+'px; height:'+y+'px;background-attachment: fixed;}');}
if (x >= 1441) {document.write('#clientWidth{background:url(http://denis-osadchiy.at.ua/Fon/1/1600x1200.jpg) no-repeat top center;width:'+x+'px; height:'+y+'px;background-attachment: fixed;}');}
document.write('<\/style>');

</script>
<div id="clientWidth"><br><body style="background-attachment: fixed none repeat fixed  rgb(0, 0, 0); margin: 0px; padding: 0px; fixed;"><table style="background: none no-repeat  0% 0% transparent;" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">
<tbody><tr><td>
$GLOBAL_AHEADER$
<br>
$ADMIN_BAR$ <br><table style="border: 1px solid rgb(172, 172, 172);" border="0" cellpadding="0" cellspacing="0" height="44" width="731">
<tbody><tr><td align="center" valign="top">
  <div class="grayLink" style="font-size: 10px; text-align: left; padding: 5px; margin-bottom: 5px;"><a title="Главная" href="$HOME_PAGE_LINK$"><!--<s5176>-->$GLOBAL_CLEFTER$
  </a></div><!--ENDIF-->
<!-- <middle> --><!-- <body> -->$CONTENT$<!-- </body> -->
</td>
  <!-- </middle> -->
</tr>
</tbody></table> <br><br><br>

<br>
<br>

$POWERED_BY$</td></tr></tbody></table></div></body></html>

Добавлено (30.05.2010, 23:55)
---------------------------------------------
Забыл сказать пример вот:

Code
http://denis-osadchiy.com


 
Дата: Понедельник, 31.05.2010, 02:21 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


SerPaladin,

Для начала - убрать вот эту муть:

Quote (Code)
<body style="background: none repeat fixed rgb(0, 0, 0); margin: 0px; padding: 0px; fixed;">
До вот такой формы:
<body style="margin: 0px; padding: 0px;">

Потом весь скрипт, желательно, перенести в <head> ... То есть у вас он должен заканчиваться до вот этого значка </head> ... ヅ

Ну и, конечно же исправить сам скрипт. Вот это:

Quote (CSS)
#clientWidth{background:url(http://denis-osadchiy.at.ua/Fon/1/1024x768.jpg) no-repeat top center;width:'+x+'px; height:'+y+'px;background-attachment: fixed;}
До вот такого вида:
#clientWidth{background: fixed url(http://denis-osadchiy.at.ua/Fon/1/1024x768.jpg) no-repeat top center;width:'+x+'px; height:'+y+'px;}
Везде!

И будет счастье вам ... ヅ

P.S. И посмотрите, так, к сведению, какой синтаксис у сокращенной записи свойства «background» .....

Quote (Info)
background
Параметр позволяет установить одновременно до пяти атрибутов стиля фона.
Значения могут идти в любом порядке, браузер сам определит, какое из них соответствует нужному атрибуту.
Для более подробного ознакомления с аргументами, смотрите свойства каждого параметра отдельно.

background: background-attachment || background-color || background-image || background-position || background-repeat

Flesh

 
Дата: Понедельник, 31.05.2010, 05:05 |
SerPaladin
Рядовой
Группа: Пользователи
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline


likbezz, вам как всегда большое спасибо, за детальное объяснение!

Добавлено (31.05.2010, 02:42)
---------------------------------------------
не помагает( может что-то упущенно?

Добавлено (31.05.2010, 05:05)
---------------------------------------------
я всё поизменял как вы говорите

Code
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>$SITE_NAME$ - $MODULE_NAME$</title>
<?$META_DESCRIPTION$?>
<link href="/_st/my.css" rel="StyleSheet" type="text/css">
</head><body style="margin: 0px; padding: 0px;"><!--
/**
http://denis-osadchiy.at.ua/ Template Style ヅ
Date: 07.05.2010
Updated by: Flesh Team
HTML Document
**/
-->
<script type="text/javascript">
<!--
var x,y;
var numBg = Math.floor(Math.random() * 6); // Количество картинок + 1
// общий синтаксис
if (self.innerHeight) {
  x = self.innerWidth;
  y = self.innerHeight;
// IE 6 Strict Mode
} else if (document.documentElement && document.documentElement.clientHeight) {
  x = document.documentElement.clientWidth;
  y = document.documentElement.clientHeight;
// Остальные версии IE
} else if (document.body) {
  x = document.body.clientWidth;
  y = document.body.clientHeight;
}
//-->
</script>
<script type="text/javascript">
document.write('<style>');
if (x >= 1 && x < 1200) {document.write('#clientWidth{background: fixed url(http://denis-osadchiy.at.ua/Fon/1/1024x768.jpg) no-repeat top center;width:'+x+'px; height:'+y+'px;}');}
  if (x >= 1200 && x < 1480) {document.write('#clientWidth{background: fixed url(http://denis-osadchiy.at.ua/Fon/1/1440x900.jpg) no-repeat top center;width:'+x+'px; height:'+y+'px;}');}
if (x >= 1441) {document.write('#clientWidth{background: fixed url(http://denis-osadchiy.at.ua/Fon/1/1680x1050.jpg) no-repeat top center;width:'+x+'px; height:'+y+'px;}');}
document.write('<\/style>');

</script>
<div id="clientWidth">$GLOBAL_AHEADER$
<br>
$ADMIN_BAR$ <br><table border="0" cellpadding="0" cellspacing="0" height="44" width="650">
<tbody><tr><td align="center" valign="top">
  <div style="font-size: 10px; text-align: left; padding: 5px; margin-bottom: 5px;" class="grayLink"><a href="$HOME_PAGE_LINK$" title="Главная">$GLOBAL_CLEFTER$
  </a></div>$CONTENT$
</td>

</tr>
</tbody></table>$POWERED_BY$</div> </body></html>
и нечего не помагает((( может нужно что-то в css настроить или как-то под мозилу оптимизировать подругому, я незнаю я в шоке всё перепробовал, помогите пожалуста


 
Дата: Вторник, 01.06.2010, 10:28 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


SerPaladin,
Попробуй убрать из скрипта «height:'+y+'px;» .... Или поменяй на 100%.
У тебя сразу после DIV идет таблица:
Quote (Code)
<div id="clientWidth"><br><table style="background: none no-repeat scroll 0% 0% transparent;" border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">

Попробуй, кстати, присвоить ID тегу body ... Вместо div-а.
Вот так:

Code
<body id="clientWidth" style="margin: 0px; padding: 0px;">

Flesh

 
Дата: Вторник, 01.06.2010, 17:45 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


... А вообще, если честно, мне просто интересно, как и о чем вы думаете, когда пытаетесь что-то сделать. В данном случае - впихнуть фоновую картинку.?.

Я, например, подхожу к вопросу очень просто, для меня:

1. Точно определяюсь что и для чего мне нужно.
2. Если знаю как - пишу, проверяю, выкладываю.
3. Если не знаю, - ищу инфу по нужному вопросу, и пополняю знания инфой ... и практикой, естественно.

Итак. Пункт первый. Определяемся.
Из скрипта видно, что: в зависимости от разрешения экрана, вам нужно поставить в фон нужную картинку. А из того, что ваш сайт на юкоз хостинге, а следовательно - подключен стандартный «u.js» - писать буду на JQuery. (для меня - проще)

Из кода, вижу, что у вас есть див с ID = clientWidth ... Очень хорошо. Он оборачивает собой все содержимое страницы. Еще лучше.
Создаю документ. Стандартный, из моих шаблонов для примеров. Код его прост:

Code
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Документ без названия</title>
<meta name="author" content="Likbezz Flesh" />
<meta name="description" content="Пример смены фоновой картинки у элемента, в зависимости от разрешения монитора пользователя. v1. Источник «likbezz.ucoz.ru»" />     
<meta name="Publisher-URL" content="Уголок аццкого кодера - http://likbezz.ucoz.ru" />
<meta http-equiv="cache-control" content="no-cache" />
<meta name="robots" content="index,nofollow" />
<style type="text/css">

</style>
<script type="text/javascript">
$(document).ready(function(){
// Start DocumentReady

// End DocumentReady
});
</script>
</head>

<body>
</body>
</html>

... Далее - всё ещё проще.
Прописываю стандартные скрипты от юкоза:

Code
<style type="text/css">.UhideBlock {display:none}</style>
<script type="text/javascript" src="/_theme/_st/~s29/u.js"></script>

И, естественно, всю твою CSS, сохранённую локально:
Code
<link rel="stylesheet" type="text/css" href="/_example/sites/denis-osadchiy/my.css"/>

В стили пишу свои стили - мне, на данный момент, не интересно, прописал ты их у себя или нет.
А именно:
Фон, для #clientWidth по умолчанию - если, по любым причинам, скрипт у клиента не сработает;
Фон для <body> - так как картинка - тёмная;
Высоту <body> - на всякий ...
Убираю бордер у таблиц, внутри #clientWidth - мне они не нужны.

Что получилось:

Quote (CSS)
<style type="text/css">
#clientWidth{background: url("/_example/sites/denis-osadchiy/1024x768_3.jpg") top center no-repeat fixed;width:100%;height:auto;margin:0px auto;text-align:center;}
html,body{height:100%;}
body{background:#021126 url('/_example/sites/denis-osadchiy/_body_bg.jpg') top left;}
#clientWidth table{border:none! important;background-color:transparent! important;}
</style>

Далее, - открываю страницу с твоего сайта - любую, где есть контент, - лично мне - по барабану, какую именно.
Копирую исходное содержимое от <body> до </body>, вставляю в документ.
Смотрю, что не так.
Ага, появились «баги» - смотрю, в чем дело. Оказывается у тебя прописана какая-то картинка для боди. Перехожу по адресу ... и вижу - картинки-то не существует.....

OK - не беда - Скрываем стили. Рисуем новую.

Quote (CSS)
td,
body
{
/*background-image:url('/Fon/1/1.jpg');/* Отсутствующая картинка */
background-repeat:no-repeat;
background-attachment:fixed*/
}

Все вроде нормально. Далее. Таблица с контентом, почему-то не по центру - смотрю исходник, и вижу:
Quote (HTML)
<table style="background: transparent none no-repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;" border="0" cellpadding="0" cellspacing="0" height="100%" width="100%">

- мне это не нравится - убираю лишнее.

Все, теперь можно и скрипт писать.
Определяем переменные, с которыми буду работать:

Quote (Java Script)
var w = $(window).width(); // для краткости записи
var mElm = $('#clientWidth'); // Элемент

Для чего тебе понадобилась высота (document.documentElement.clientHeight) - я, честно говоря, так и не понял, - в условиях она не фигурирует, а задавать для обёрточного дива, коим является #clientWidth - фиксированную высоту ... лишнее, если не сказать «глупо» - так как он должен обхватывать все видимые элементы страницы - а это и есть высота «клиента». Следовательно лишнее - убираю.
Также, я не понял, для чего задавать и ширину дива, в фиксированных единицах. У таблицы с контентом уже есть фиксированная ширина, а див, как я понял, мы используем только для картинки.
К тому ж, если уж, всё таки, задавить ширину - нужно учитывать и полосу прокрутки.
Все.
Скрипт готов.
Переписываем условия из ума на «бумагу», а именно в код страницы. (!!!!) и помним, мы работаем с элементом #clientWidth.

Вот и сам код:

Quote (Java Script)
<script type="text/javascript">
$(document).ready(function(){
// Start DocumentReady
// Start clientwidth
var w = $(window).width(); // для краткости записи
var mElm = $('#clientWidth'); // Элемент
if (w < 1200){
mElm.css({background:'url(/_example/sites/denis-osadchiy/1024x768_3.jpg) top right no-repeat fixed'});
};
if(w >= 1200 && w < 1480){
mElm.css({background:'url(/_example/sites/denis-osadchiy/1440x900_3.jpg) top right no-repeat fixed'});
};
if(w >=1480){
mElm.css({background:'url(/_example/sites/denis-osadchiy/1680x1050_3.jpg) top right no-repeat fixed'});
};
// End DocumentReady
});
</script>

Ссылка на готовое решение.

P.S. Осталось сделать так, чтобы картинка менялась при изменении окна просмотра, то есть, браузера, вручную. Кому интересно - я сделал. Надо же хоть как-то заставить шевелить серым веществом - а то всё «готовые решения ...» ... ѿ

P.S. Картинки я перерисовал и обрубил. Первое, для фона картинка весом 315kb - это дохрена. Второе, ей не обязательно быть такой широкой. Там должен быть только спортсмен. Остальное - фон.

Flesh

Прикрепления: 8930356.png (12.5 Kb)

 
Дата: Четверг, 03.06.2010, 23:51 |
SerPaladin
Рядовой
Группа: Пользователи
Сообщений: 10
Награды: 0
Репутация: 0
Статус: Offline


спасибо вы гений всё пашет=)
кстатьи стили я в css писал=)


 
Дата: Пятница, 04.06.2010, 01:56 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


SerPaladin,
Quote (SerPaladin)
кстатьи стили я в css писал

... И правильно - нефиг код засорять .... ヅ

Flesh

 
Скрипты и коды для юкоз - Форум аццкого кодера » Вопросы по верстке, дизайну, управлению и настройки модулей СMS от uCoz » Общая тема по вопросам верстке и дизайну... » как сделать фиксацию (как зафиксировать фон в мозилле)
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия