2010-08-26 17 views
5

Jestem początkujący w html Używam moduł logowania z yootools.?Co należy zastąpić <span> w <form> za pomocą? „W XHTML 1.1 tag <form> nie może zawierać tag <span>

Co zastąpić <span> wz Mam XHTML 1.1 ścisłe doctype (zmiana poprawki przejściowe it) i otrzymuję błąd:

„W XHTML 1.1 tagiem <form> nie może zawierać tag <span>

to skrzynki użytkownika/karnet ustawieni obok siebie na tej samej linii. Co mogę zastąpić tymi rozpiętościami, żeby nie narzekać?

Dzięki!

Maria

Edytuj: Wyczyścić do tego teraz. Więc po prostu muszę znaleźć sposób, aby zastąpić coś z <span class="username">.

<li class="login"> 
    <form action="/cgi-bin/login" method="post" name="Login"> 

     <span class="username"> 
     <input type="text" name="username" size="18" value="Username" /> 
     </span> 

     <span class="password"> 
     <input type="password" name="passwd" size="10" value="Password" /> 
     </span> 

     <span class="login-button"> 
     <button value="Login" name="Submit" type="submit" title="L">L</button> 
     </span> 

    </form> 
</li> 





a:focus { outline: none; } 

span.username, 
span.password { 
    width: 74px; 
    height: 16px; 
    padding: 6px 5px 2px 25px; 
    float: left; 
    overflow: hidden; 
    margin-right: 0px; 

} 



span.username input, 
span.password input { 
    padding: 0px; 
    width: 100%; 
    background: none; 
    border: none; 
    outline: none; 
    float: left; 
    color: #646464; 
    font-size: 11px; 
} 



span.login-button { 
    margin: 2px 5px 2px 0; 
    width: 50px; 
    height: 20px; 
    float: left; 
    overflow: hidden; 
} 



span.login-button button { 
    display: block; 
    padding: 0px 0px 0px 0px; 
    width: 100%; 
    height: 20px; 
    border: none; 
    background: none; 
    cursor: pointer; 
    overflow: hidden; 
    font-size: 11px; 
    line-height: 20px; 
    color: #646464; 
} 




.login { 
    float:right; 
    margin:5px 0 0 0; 
    height: 24px; 
    display: block; 

} 


.login span.username { 
    background: url(img/username_bg.png) 0 0 no-repeat; /* ie6png:crop */ 
} 

.login span.password { 
    background: url(img/password_bg.png) 0 0 no-repeat; /* ie6png:crop */ 
} 

.login span.username:hover { 
    background: url(img/username_bg.png) 0 -24px no-repeat; 
} 

.login span.password:hover { 
    background: url(img/password_bg.png) 0 -24px no-repeat; 
} 



.login span.username input:hover, 
.login span.password input:hover, 
.login span.username input:focus, 
.login span.password input:focus { 
    color: #F2AD29; 
} 

.login span.login-button { 
    background: url(img/button_bg.png) 0 0 no-repeat; /* ie6png:crop */ 
} 

.login span.login-button:hover { 
    background: url(img/button_bg.png) 0 -20px no-repeat; 
} 



.login span.login-button button:hover { 
    color: #F2AD29; 
} 
+0

Maria, nie masz wystarczającej reputacji jeszcze upvote, ale trzeba zaakceptować odpowiedź, która najbardziej ściśle pasuje do twojej konkretnej odpowiedzi, w tym przypadku Alochi odpowiedział tak samo jak ja, więc najlepiej przyjąć tę odpowiedź. – Mauro

+0

Jak mogę to zrobić, Mauro? Próbowałem przegrywać, nie działałem tak jak powiedziałeś. Nie widzę żadnego "Zaakceptuj tę odpowiedź". – MariaKeys

+0

Maria, po prostu znajdź odpowiedź i najedź kursorem na szary znacznik wyboru, aby był zielony i kliknij go. – Mauro

Odpowiedz

0

Myślę, że jedyną różnicą pomiędzy posiadaniem tych przęseł i ich nie posiadające, że przęsła są wyświetlane automatycznie inline, a DIV i wiele innych elementów (jak wejść) są wyświetlane automatycznie „blok”. Więc spróbuj po prostu dodać display : inline; do CSS dla dwóch pól tekstowych.

+0

Dzięki. To wiem. Ale czym mogę zastąpić wszystkie te klasy span? Robią różne formatowanie. – MariaKeys

0

Spróbuj to zamiast:

<li class="login-black"> 
    <form action="/cgi-bin/login" method="post" name="Login"> 
     <input type="text" name="username" size="10" value="Username" class="username niftyquick y-login login" /> 
     <input type="password" name="passwd" size="10" value="Password" class="password niftyquick y-login login" /> 
     <input type="hidden" name="remember" value="yes" /> 
     <button value="Login" name="Submit" type="submit" title="L" class="login-button niftyquick y-login login">Log</button> 
    </form> 
</li> 

Jeśli Twój spans są tam tylko stylizacji, stosuje te klasy, aby same elementy zamiast.

+0

Dori, posprzątałem oryginalny post, teraz nie potrzebuję tak wielu rozpiętości. – MariaKeys

+0

Wygląda na to, że nie działa. Co więcej, teraz dostaję "w XHTML 1.1, tag

nie może zawierać tagu " !!! Co to jest forma, jeśli nie ma wejścia? – MariaKeys

1

Wystarczy umieścić <div> tag natychmiast po znaczniku <form> i </div> tagu bezpośrednio przed tagiem </form> i wont trzeba zmienić przęseł w ogóle.

+0

Thanksssssssssssssss Alochi! Niech cię Bóg błogosławi! – MariaKeys

+0

To miejsce jest spektakularne! Zadałem 3 pytania, za każdym razem ktoś mnie uratował od tak dawna. I za każdym razem, gdy zadałem pytanie po 6 godzinach szukania i próbowania! Wy ludzie jesteście takimi ekspertami. Alochi, Mario, Dori, MatrixFrog ... bardzo ci dziękuję. Czy istnieje tutaj darowizna społeczności lub coś podobnego? – MariaKeys

3

w schemacie http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd

Formularz Tag może zawierać tylko elementy blokowe, spróbuj zamiast tego:

<li class="login"> 
    <form action="/cgi-bin/login" method="post" name="Login"> 
     <div> 
     <span class="username"> 
     <input type="text" name="username" size="18" value="Username" /> 
     </span> 

     <span class="password"> 
     <input type="password" name="passwd" size="10" value="Password" /> 
     </span> 

     <span class="login-button"> 
     <button value="Login" name="Submit" type="submit" title="L">L</button> 
     </span> 
     </div>  
    </form> 
</li> 
+0

Thanksssssssssssssss Mauro! Niech cię Bóg błogosławi! – MariaKeys