Можно ли задать OnMouseOver для TD, но сразу в CSS файле, а не приписывать к TD?
Вид для печати
Можно ли задать OnMouseOver для TD, но сразу в CSS файле, а не приписывать к TD?
Если забить на IE:
Код:td:hover {
* *bla: bla-bla;
}
agat в Интернет-эксплорере не будет работать?
Сделаю так:
Тогда везде будет работать?Код:<td class="Button" onMouseOver="this.className = 'ButtonMouseOverUp';" onMouseOut="this.className = 'Button';" onMouseDown="this.className = 'ButtonMouseDown';">
Да, везде. Опиши ситуацию, возможно из неё можно выйти по-другому.
synchro
мне надо, чтобы при наводе на ТД ее стиль изменялся. (другой стиль ставал). и задать это надо в ЦСС файле, а не приписывать к ТД типа:
TD:hover, только это в ИЕ не будет работать!
bmn, а внутри TD случайно не ссылка?
synchro нет. была бы ссылка -- не спрашивал. ; )
можно еще так:
Прадва не знаю. Будет ли работать на Мозине, НН ?Код:<script>
*function MouseOver (obj)
*{
* *obj.style.border = "0";
*}
*function MouseOut(obj)
*{
* *obj.style.border = "1px Solid Gray";
*}
</script>
<td onMouseOver="MouseOver(this)" onMouseOut="MouseOut(this)">
Какой из этих вариантов более оптимальный?
А, ты скачай Мозину и попробуй, слабо?
agat ок )
Если ячеек много и не хочешь засорять код всякими onmouseover, то напиши JS, автоматически ищущий и добавляющий события на ячейки. Делается это, если я не ошибаюсь, функцией attachEvent.
[/quote]Цитата:
Originally posted by synchro@Jul 9 2005, 05:21
bmn, а внутри TD случайно не ссылка?
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
А вот у меня как раз ссылка - подскажите, пож-та, как в этом случае можно сделать?
так а что, собственно, с ссылкой не понятно?
ну у меня ссылка внутри ячейки и надо чтобы и ссылка и ячейка подсвечивались при наведении и кликались. так вот делая onMouseOver на ячейку и onclick . Вот думаю может можно как-то "поправильней" раз тут человек написал "а внутри случайно не ссылка?" (что-то ведь под этим подразумевалось).
тогда можно развернуть ссылку на всю область ячейки и подсвечитвать ее обычным a:hover, что будет работать в IE, т.к. он понимает для а псевдокласс :hover
Спасибо.
А как это можно сделать?Цитата:
тогда можно развернуть ссылку на всю область ячейки
[/quote]Цитата:
Originally posted by Dimsss@Dec 14 2006, 05:16
Спасибо.
А как это можно сделать?
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
a {display: block;}
а не a{display:block;widyh:100%;height:100%;}? она что — по умолчанию 100%?
[/quote]Цитата:
Originally posted by null@Dec 14 2006, 15:05
а не a{display:block;widyh:100%;height:100%;}? она что — по умолчанию 100%?
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
Блочные элементы генерируют блок, который заполняет область содержимого своего родительского элемента и по бокам от него не могут располагаться другие элементы, т.е. он генерирует разрывы до и после.
Если уж никак не получается с CSS, то с JS лучше применяйте behaviour...
Inline'овые подстановки загружают и усугубляют возможность редактирования кода.
[/quote]Цитата:
Originally posted by dmitry.eu@Dec 16 2006, 01:16
Если уж никак не получается с CSS, то с JS лучше применяйте behaviour...
Inline'овые подстановки загружают и усугубляют возможность редактирования кода.
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
зачем такие сложности, когда и без javascript все прекрасно работает? :ninja:
Большое спасибо за ответы. На самом деле спросил, тк попробовал с блоком и не получилось, но видно перегрев мозга был. Т.к. щас сделал - все работает.
[/quote]Цитата:
Originally posted by Zigzag@Dec 16 2006, 11:24
зачем такие сложности, когда и без javascript все прекрасно работает? :ninja:
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
Вдруг ссылка требуется inline'овая, а не блочная... тогда такой метод самый правильный. Хотя ради какого-то спецэффекта я б наплевал на IE.
[/quote]Цитата:
Originally posted by dmitry.eu@Dec 16 2006, 19:32
Вдруг ссылка требуется inline'овая, а не блочная... тогда такой метод самый правильный. Хотя ради какого-то спецэффекта я б наплевал на IE.
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
если честно, еще не сталкивался с такой задачей, обычно блочная ссылка ни кому не мешала [Only registered and activated users can see links. Click Here To Register...]
[/quote]Цитата:
Originally posted by Zigzag@Dec 17 2006, 13:50
если честно, еще не сталкивался с такой задачей, обычно блочная ссылка ни кому не мешала* [Only registered and activated users can see links. Click Here To Register...]
<div align='right'>[Only registered and activated users can see links. Click Here To Register...]
Полностью с Вами солидарен. Блочная ссылка - она вообще такая занятная штука.
Но вот возникла очередная маленькая непонятная ситуация.
В IE получается одна странность. Код простейший (CSS не указываю - там просто подразумевается смена фона <a> по :hover):
1. Если для ссылок, находящихся в ячейках таблицы, указать только лишь {display: block;}, смена фона при наведении курсора на ячейку таблицы работает. Но почему-то только в первой строке таблицы. В последующих строках смена фона ячейки работает только при наведении курсора непосредственно на саму ссылку. Хотелось бы поинтересоваться: есть ли этому какое-нибудь логическое объяснение?Код:<table width="280" *border="0" cellspacing="3" cellpadding="0">
*<tr><td>[Only registered and activated users can see links. Click Here To Register...]</td></tr>
*<tr><td>[Only registered and activated users can see links. Click Here To Register...]</td></tr>
*<tr><td>[Only registered and activated users can see links. Click Here To Register...]</td></tr>
</table>
2. Лечится это просто: {display: block; width: 100%;}. Но просто всё это только с первого взгляда. Потому как при таком решении возникает другая проблема – из-за "width: 100%" почему-то пропадает правый бордер ячейки таблицы (причем любой - как назначенный самой таблице, так и назначенный, к примеру, элементу <a> при помощи стилей). Более того, небезызвестно, что некоторые браузеры не совсем понимают "width: 100%" для <a> (Netscape/Mozilla). Приходится искать обходные пути типа: html>body a.data {width: auto;}.
3. И как же быть? Пока я нашел выход {display: block; height: 100%;}. И никаких при этом "width: 100%". Но верно ли это? И вообще почему происходят все эти вышеописанные "фокусы"? [Only registered and activated users can see links. Click Here To Register...]
хм, интерсено, может, лучше приведите код целиком и мы его потестим? по спецификации блочный элемент занимает все доступное ему пространство родительского элемента и, по идее, не нужны никакие width
Да запросто. Очень буду признателен, если вместе сможем разобраться что это за фокусы такие.
В общем, менюшка с Вебмаскона, только не списком, а таблицей, где каждый пункт в своей собственной ячейке.Код:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Блочные ссылки</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style type="text/css">
body {
****font-family: Verdana, Arial, Helvetica, sans-serif;
****font-size: 12px;
****background-color: #FFFFFF;
****margin: 20px;
****padding: 0px;
}
a.data {
****color: #FFFFFF;
****text-decoration: none;
****background-color: #2175BC;
****display: block;
****padding: 5px;
****border-right: 10px solid #508FC4;
****border-bottom: 1px solid #90BADE;
****border-left: 10px solid #1958B7;
}
a.data:hover {
****color: #FFFFFF;
****background-color: #2586D7;
****border-right: 10px solid #5BA3E0;
****border-left: 10px solid #1C64D1;
}
</style>
</head>
<body>
<table width="280" *border="0" cellspacing="0" cellpadding="0">
*<tr><td>[Only registered and activated users can see links. Click Here To Register...]</td></tr>
*<tr><td>[Only registered and activated users can see links. Click Here To Register...]</td></tr>
*<tr><td>[Only registered and activated users can see links. Click Here To Register...]</td></tr>
</table>
</body>
</html>
И при таком раскладе, если для <a> не указывать width или height, а только display: block, активная область на всю ячейку таблицы – только у первой строки. В остальных – только если курсор наводится непосредственно на текст ссылки.
и вправду, попробую разобраться, если чего рожу, отпишусь