Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Сделать див ссылкой. (http://forum.oszone.net/showthread.php?t=103877)

Artem-Samsung 28-03-2008 20:14 770058

Сделать див ссылкой.
 
http://uaclub.org/admin/index3.php
Сделал вот таким вот макаром:
<a href="#"><div class="menu2">Підрозділи</div></a>
Проблемма в том, что в IE не работает и Валидатор ругается:
Line 158, Column 34: document type does not allow element "div" here; missing one of "object", "applet", "map", "iframe", "button", "ins", "del" start-tag.
<a href="#"><div class="menu2">Додати категорію</div></a>

The mentioned element is not allowed to appear in the context in which you've placed it; the other mentioned elements are the only ones that are both allowed there and can contain the element mentioned. This might mean that you need a containing element, or possibly that you've forgotten to close a previous element.

One possible cause for this message is that you have attempted to put a block-level element (such as "<p>" or "<table>") inside an inline element (such as "<a>", "<span>", or "<font>").

Vlad Drakula 28-03-2008 20:24 770065

Artem-Samsung
а зачем вам DIV внутри ссылки?

Artem-Samsung 28-03-2008 20:26 770066

Для того, что бы весь квадратик был ссылкой. То есть при нажатии на область ячейки выполняется действие.
Если внутри ссылку, то переход только по нажатии именно по текстовой области

bruder 28-03-2008 20:31 770070

да, нельзя блочные элементы вставлять в инлайн. Сделай наоборот

Код:

<html>
 <head>
 <style type="text/css">
        div a{
                display:block;
                border:1px solid #000;
                width:30px;
                height:30px;
                text-decoration:none;
        }
        div {               
                border:1px solid #030;
                width:30px;
                height:30px;
        }
 </style>
 </head>

 <body>
  <div id="out" class="out">
        <a href="" id="in">hallo</a>
  </div>
 </body>
</html>


Artem-Samsung 28-03-2008 20:36 770072

Спасибо, то что нужно :)))

Artem-Samsung 28-03-2008 20:56 770083

Единственное что не пойму, у меня почему то первых две ссылки не работает, а дальше все работают О.о
Ну ниче, разберусь. Еще раз спасибо

farlow 28-03-2008 21:04 770087

a {
display:block;
}
этого хватит

Artem-Samsung 28-03-2008 21:28 770101

farlow, ага, я так и сделал. вот только странно так получается.
часть работает ссылок так, а часть нет :))

Код:

#content #menu .menu2 a:hover {
        width: 157px;
        background-color: #003399;
        color: #FFFFFF;
        display: block;
}


bruder 28-03-2008 21:36 770106

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

Код:

<html>
 <head> 
  <style type="text/css">
  #content #menu .menu2 a {
    width: 157px; 
    display: block;

        #content #menu .menu2 a:hover {
    background-color: #003399;
    color: #ffffff; 

  </style>
 </head>
 <body>
  <div id="content" class="">
        <div id="menu" class="">
                <div id="" class="menu2">
                        <a href="">sdfsfs</a>
                        <a href="">sdfsfs</a>
                        <a href="">sdfsfs</a>
                        <a href="">sdfsfs</a>
                        <a href="">sdfsfs</a>
                        <a href="">sdfsfs</a>
                </div>
        </div>
  </div>
 </body>
</html>


Artem-Samsung 28-03-2008 21:52 770113

Я блок и в хувере написал, да и ссылку обозначил не так точно, а так:

#menu a:link {
color: #000066;
font-weight: normal;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 14px;
text-decoration:none;
display:block;
}

Сделал все, как вы написали и получилось вроде :) Хотя тогда тоже вроде бы как получалось но после нескольких заходов что-то испортилось(
Но надеюсь, что так будет точно работать. Спасибо еще раз :))

eugeniuzzz 26-04-2008 10:18 789519

А никто не знает, как убрать тоненькую рамку, появляющуюся при клике на ссылку в FireFox? (не border)

bruder 26-04-2008 12:10 789563

a:focus{outline: none}

в целях usability не рекомендуется это делать, потому как люди привыкшие к навигации tab-ом не видят на каком элементе они находятся

eugeniuzzz 26-04-2008 17:44 789758

Спасибо! Как обычно, всё оказалось предельно просто. А на счёт usability надо будет помыслить...


Время: 00:13.

Время: 00:13.
© OSzone.net 2001-