|
|
|
| На сайте на всех страницах IFRAME в котором меню сайта.
Все работает нормально, за исключением того, что a:active не фунциклирует.
На те секунды, пока открывается страница, цвет меняется, а потом снова становиться прежним.
Такое подозрение, что профи с этим наверняка сталкивались и решение где то на поверхности – пжлста подскажите, кто в курсе!
Да, кстати, если открыть в новой вкладке(окне), то все работает отлично. А если открываем в этом же, то ни-че-го.
Если сумбурно рассказал, то скажите поясню.
А если здесь это уже обсуждалось, дайте ссылку плиз. | |
|
|
|
|
|
|
|
для: SNSNSN456
(03.09.2010 в 21:51)
| | А стили для страницы в iframe прописали? | |
|
|
|
|
|
|
|
для: Gubichev
(03.09.2010 в 22:53)
| | >А стили для страницы в iframe прописали?
Да прописал,
На всех страницах код:
<IFRAME frameborder="1" scrolling="no" align="top" Width=100% Height="500" src="menu.htm">
</IFRAME>
|
В файле menu.htm
…
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
<body>
<a target="_parent" id="menu" href="index.htm">Раздел 1</a><br><br>
<a target="_parent" id="menu" href="index2.htm">Раздел 2</a>
…
|
В файле styles.css
#menu {
text-decoration: none;
font-family: Tahoma, Verdana, Helvetica, sans-serif;
font-weight: bold;
}
#menu a:active {color: #2e3092; text-decoration: none;}
#menu a:hover {color: #FF0000;}
#menu a:link {color: #1a1c0f;}
#menu a:visited {color: #1a1c0f;}
|
Ситуация показана здесь www.Vopros157.narod.ru
!!! Причем, если открыть в другом окне(вкладке) то ссылка как и задумывалось становиться темно-синей, т.е. работает как положено.
Как все таки сделать что бы она становилась синей и при обычной работе? | |
|
|
|
|
|
|
|
для: SNSNSN456
(03.09.2010 в 23:45)
| | Забудьте про псевдокласс active. Его реализация различается в различных браузерах. Активная ссылка реализуется двумя способами:
1) на каждой странице прописывается, какая ссылка активна (обычно серверным скриптом)
2) для подсветки используется JS - когда страница не перезагружается | |
|
|
|
|
|
|
|
для: SNSNSN456
(03.09.2010 в 23:45)
| | Порядок имеет значение.
Перепишите файл styles.css
#menu a:hover {color: #FF0000;}
#menu a:link {color: #1a1c0f;}
#menu a:visited {color: #1a1c0f;}
#menu a:active {color: #2e3092; text-decoration: none;}
|
| |
|
|
|
|
|
|
|
для: АЯ
(04.09.2010 в 01:01)
| | помоему a:active, в основном, это как onMouseDown :)
а при onMouseOut:) всё становится прежним) | |
|
|
|
|
|
|
|
для: АЯ
(04.09.2010 в 01:01)
| | >Порядок имеет значение.
>Перепишите файл styles.css
#menu a:hover {color: #FF0000;}
>#menu a:link {color: #1a1c0f;}
>#menu a:visited {color: #1a1c0f;}
>#menu a:active {color: #2e3092; text-decoration: none;}
|
Попробовал не помогло,
Я выложил полностью коды трех файлов, которые участвуют в данной конструкции:
index.html
menu.html
styles.css
по адресу [url]www.Vopros157.narod.ru[/url]
Как в той пословице "заблудился в трех соснах", в моем случае "в трех файлах"
По вопросу в каком браузере: попробовал в IE, FF и в Opere - ситуация везде аналогичная
Буду признателен за любой совет для решения данного вопроса! | |
|
|
|
|
|
|
|
для: SNSNSN456
(04.09.2010 в 12:45)
| | "Гражданин Иванов снимает комнату у гражданина Иванова в доме, который находится на улице Иванова в городе Иваново."
"Кто на ком стоял" - Вам понятно?
Аналогично и у Вас в коде: Ссылка с идентификатором menu находится в ячейке с идентификатором menu, которая находится в строке с идентификатором menu, коя, в свою очередь, - в таблице с идентификатором menu. И всё это вместе - в файле под названием menu.html
ID - это УНИКАЛЬНЫЙ в пределах документа идентификатор, который должен ОДНОЗНАЧНО определять ОДИН-ЕДИНСТВЕННЫЙ конкретный тег.
Прочитайте самое начало текста по ссылке - http://www.w3.org/TR/1999/REC-html401-19991224/struct/global.html#idx-id_attribute. Найдите текст: This name must be unique in a document.
--------------------
Что касается Вашего вопроса, то ответ на него ОЧЕВИДЕН.
После нажатия на ссылку у Вас перегружается ВЕСЬ документ, включая ифрейм и ссылки в нём.
Соответственно, ссылки в НОВОМ документе уже не будут активными.
Вот если бы страница с меню была бы у Вас одна, а содержимое находилось бы в ифрейме и менялось бы в зависимости от выбора ссылки, то тогда активная ссылка таковой бы оставалась.
Иначе - действие псевдокласса ссылки распространяется ТОЛЬКО на ТЕКУЩИЙ документ. | |
|
|
|
|
|
|
|
для: АЯ
(04.09.2010 в 13:29)
| | >ID - это УНИКАЛЬНЫЙ в пределах документа идентификатор, который должен ОДНОЗНАЧНО определять ОДИН-ЕДИНСТВЕННЫЙ конкретный тег.
Критика принимается - большое спасибо
>Что касается Вашего вопроса, то ответ на него ОЧЕВИДЕН.
>После нажатия на ссылку у Вас перегружается ВЕСЬ документ, включая ифрейм и ссылки в нём.
>Соответственно, ссылки в НОВОМ документе уже не будут активными.
>Вот если бы страница с меню была бы у Вас одна, а содержимое находилось бы в ифрейме и менялось бы в зависимости от выбора ссылки, то тогда активная ссылка таковой бы оставалась.
>Иначе - действие псевдокласса ссылки распространяется ТОЛЬКО на ТЕКУЩИЙ документ.
Вы будете удивлены, но я это хорошо понимаю.
Я прошу совета именно в моей данной описанной ситуации,
м.б. Вы предложите каким то образом так сделать, что бы посетитель сайта видел в меню в каком разделе он находится.
Большое спасибо за Ваш отклик! | |
|
|
|
|
|
|
|
для: SNSNSN456
(04.09.2010 в 16:07)
| | В данном конкретном случае единственный выход - прописать скрипт в файле menu.html, который определит parent.document.location.href и таким образом узнает - в каком из разделов меню в данном случае находится юзер.
И лучше будет не изменять стиль ссылки на текущий раздел на какой-то отличающийся от прочих, а вовсе этот пункт меню сделать некликабельным.
Ибо, согласитесь, - полный бред, когда человеку, находящемуся в "разделе №"1 предлагается кликнуть на "раздел №1", чтобы заново оказаться там, где он уже и находится.
Если нужна будет помощь по скрипту - свистите :-) | |
|
|
|
|
|
|
|
для: АЯ
(04.09.2010 в 16:42)
| | АЯ, Огромное спасибо за Ваши советы, пошел пробовать. | |
|
|
|