Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Насчёт изменения цвета в CSS
 
 автор: Freddie_X   (27.09.2006 в 19:55)   письмо автору
 
 

Моя ячейка в таблице должна менять цвет при наведении на неё мышкой. В HTML это пишется так:
onMouseOver="this.style.backgroundColor='#000000';

Как мне задать этот параметр в CSS?

.stile {
что мне здесь написать?
}

   
 
 автор: AlexSol   (27.09.2006 в 20:15)   письмо автору
 
   для: Freddie_X   (27.09.2006 в 19:55)
 


td.stile:hover{
background:#000000;
}

   
 
 автор: Freddie_X   (27.09.2006 в 20:43)   письмо автору
 
   для: AlexSol   (27.09.2006 в 20:15)
 

Эээ, а если у меня уже в хтмл к этой ячейке приписан стиль?

<td class="stile"></td>

то я так понимаю, не надо уже писать td.****** в названии стиля.
А что вообще значит hover?

   
 
 автор: AlexSol   (27.09.2006 в 20:47)   письмо автору
 
   для: Freddie_X   (27.09.2006 в 20:43)
 

можно писать , а можно и нет. если вы дальше этот же класс примените к дркгому элементу (p, div, a.....) то запись

td.stile:hover{ 
background:#000000; 



сработает только на таблицу.

:hover - стиль при наведении на ссылку [a:hover], но работает и для таблиц.

   
 
 автор: Freddie_X   (28.09.2006 в 17:35)   письмо автору
 
   для: AlexSol   (27.09.2006 в 20:47)
 

Спасибо, ну а если у меня момимо фона есть другие параметры, к примеру:

.stile {
bacground-color: #999999;
border-color: #000000;
border-width: 1px;
text-size: 11px;
}

а при наведении менять только фон, а при сдвиге курсора с ячейки фон снова менялся на #999999.

P.S. извините, что достаю, просто очень хочу знать, как сделать всё это более компактнее. :)

   
 
 автор: AlexSol   (28.09.2006 в 17:58)   письмо автору
 
   для: Freddie_X   (28.09.2006 в 17:35)
 

давайте определимся:

table tr td.stile:hover{  
background:#000000;  
}  
.stile { 
bacground-color: #999999; 
border-color: #000000; 
border-width: 1px; 
text-size: 11px; 


работает? в :hover пишите те свойстве которые нужно менять.

   
 
 автор: SHAman   (28.09.2006 в 18:39)   письмо автору
 
   для: AlexSol   (28.09.2006 в 17:58)
 

кстати, что-то у меня это не работает...

Может, что не так пишу? Хотя, где здесь ошибаться....


table tr td.stile:hover{   
background:#000000;   
}   
.stile {  
bacground-color: #999999;  
border-color: #000000;  
border-width: 1px;  
text-size: 11px;  
}  


<body>
<table width="100%" cellspacing="10px" cellpadding="20px" border="10px">
<tr>
    <td class="stile">текст</td>
</tr>
</table>
</body>

   
 
 автор: SHAman   (28.09.2006 в 18:31)   письмо автору
 
   для: Freddie_X   (27.09.2006 в 19:55)
 

Можно попробовать скриптом:

<td onmouseover="this.style.background='#00aa00';" onmouseout="this.style.background='#ffffff';" >
текст
</td>


ОЙ... только увидел, что это было...:( А можно поинтересоваться, чем скрипт не устраивает?

   
 
 автор: Freddie_X   (28.09.2006 в 19:46)   письмо автору
 
   для: SHAman   (28.09.2006 в 18:31)
 

У меня много таких ячеек, хочу облегчить скрипт написав один стиль для них.
Всё, спасибо, AlexSol, всё помогло! Ещё раз спасибо!

   
 
 автор: AlexSol   (28.09.2006 в 19:54)   письмо автору
 
   для: Freddie_X   (28.09.2006 в 19:46)
 

плохому научил.... работает везде кроме эксплорера.

   
 
 автор: AlexSol   (28.09.2006 в 19:57)   письмо автору
 
   для: AlexSol   (28.09.2006 в 19:54)
 

могу только слегка облегчитьь жизнь сокращением кода:

<script>
function ff(par){par.style.backgroundColor='#0000ff';}
function oo(par){par.style.backgroundColor='#ffffff';}

</script>
<table border="1" >
<tr height="40"><td width="40" onMouseOver="ff(this)" onMouseOut="oo(this)">wqwqwqw</td></tr>
<tr height="40"><td width="40" onMouseOver="ff(this)" onMouseOut="oo(this)">wqwqwqw</td></tr>
<tr height="40"><td width="40" onMouseOver="ff(this)" onMouseOut="oo(this)">wqwqwqw</td></tr>
</table>

   
 
 автор: RMW   (28.09.2006 в 20:39)   письмо автору
 
   для: AlexSol   (28.09.2006 в 19:57)
 

Можно ещё циклы приспособить

<html>
<head>
<script>
function f()
{
  var tbl = document.getElementById('myTable');
  for(var i=0;i<tbl.rows.length;i++)
  {
    for(var j=0;j<tbl.rows[i].cells.length;j++)
    {
      tbl.rows[i].cells[j].onmouseover=ff;
      tbl.rows[i].cells[j].onmouseout=oo;
    }
  }
}

function ff(){this.style.backgroundColor='#0000ff';} 
function oo(){this.style.backgroundColor='#ffffff';}

</script>
</head>
<body onload="f()">

<table border="1" id="myTable">
<tr>
  <td>0</td><td>0</td><td>0</td>
</tr>
<tr>
  <td>0</td><td>0</td><td>0</td>
</tr>
</table>

</body>
</html>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования