2011-03-18 16 views
5

Oto moja strona: http://smartpeopletalkfast.co.uk/ppp/home-page.htmlIE6 min-height dylemat

Chcę formy wejściowe być taka sama wysokość jak przyciski na prawo. Zrobiłem to z wartością minimalnej wysokości, aby strona była nadal użyteczna, gdyby rozmiar tekstu był większy niż ta wysokość.

Problem polega na tym, że IE6 nie rozpoznaje minimalnej wysokości. Mogę ustawić stałą wysokość, ale obawiam się, że użytkownicy zmieniają tekst poza to. Ponieważ jest to tylko kosmetyczny problem, mam ochotę po prostu to zostawić.

Wszelkie sugestie? Dzięki

+4

uhm, nadal obsługujący IE6, z microsoft mówi nam, aby przestać używać IE6 (http://www.theie6countdown.com/) – jao

+0

nadal używane chociaż: http://www.w3schools.com/browsers/browsers_explorer. asp – Evans

+2

_Nie obsługuj IE6, powinno umrzeć! – Kyle

Odpowiedz

12

Jeśli problem jest rzeczywiście tylko coraz min-height działa w IE6, użyj Min-Height Fast Hack:

selector { 
    min-height:500px; 
    height:auto !important; 
    height:500px; 
} 

To już od dłuższego czasu, więc jest łatwo rozpoznawalny dla każdego konserwacji CSS w przyszłości.

+0

http://perishablepress.com/press/2007/01/16/maximum-and-minimum-height-and-width-in-internet-explorer/ – Evans

+1

Ive sprawdził to ponownie i tak, wydaje się, że działa. Nie jestem pewien, co zrobiłem za pierwszym razem. Dzięki – Evans

+0

Pamiętaj, że kolejność tych linii ma znaczenie i nie powinna być zmieniana. –

-2

Dzięki za twój post trzydzieścidot. Widziałem to rozwiązanie, ale nie działało to dla mnie, ustawiło stałą wysokość, a nie minimalną.

Zrobiłem to za pomocą poniższego rozwiązania i załadowałem CSS dla IE6 tylko na dobry środek. To działa na ive przetestowane go na komputer, mam tylko nadzieję, że to działa na wszystkich komputerach IE6:

http://perishablepress.com/press/2007/01/16/maximum-and-minimum-height-and-width-in-internet-explorer/

Dzięki

+1

To nie jest tak dobre, jak moja sugestia. Opiera się na "wyrażeniu", które [pogarsza wydajność] (http://code.google.com/speed/page-speed/docs/rendering.html#AvoidCSSExpressions) (co prawda niewielka ilość w tym przypadku). Nie działa również, gdy JavaScript jest wyłączony, a mój. Jeśli moja sugestia nie działa dla Ciebie, prawdopodobnie używasz go nieprawidłowo - działa. – thirtydot

+1

To nie moja sprawa, ale rozumiem, dlaczego ją masz. – thirtydot

+0

'wyrażenie' jest dziełem diabła! Poważnie jednak, jeśli najpierw zamierzasz wspierać IE6, a teraz zaczynasz używać "wyrażenia", twój zestaw umiejętności zaczął się cofać. –

0

Pozwól mi zaoferować inne podejście. To jest twój cel, jak stwierdzono:

Chcę, aby formularze wejściowe miały taką samą wysokość jak przyciski po ich prawej stronie.

Plus, nie jest to warunek pozwala na zmianę rozmiaru tekstu, jak stwierdzono:

nadal być użyteczny, jeśli rozmiar tekstu był zestaw do powyżej tej wysokości

Wiedząc, że moją sugestią jest oparcie wysokości na EM. Użyj EM do zdefiniowania wysokości kontenera wejścia i przycisku, a następnie ustaw wysokość wejścia i przycisku na 100%. W ten sposób, gdy użytkownik resetuje swój rozmiar czcionki (od najmniejszego do największego), pojemnik będzie się powiększał i zmniejszał, a przycisk wejścia/przycisku będzie się powiększał i zmniejszał wraz z nimi.

Mam wyśmiewali się prosty przykład pod następującym adresem URL: http://jsbin.com/oguze5/2/edit

miejsca będą musiały być zmienione dla celów stylizacji, ale ogólna idea/koncepcja jest dość dźwięku.

+0

Podoba mi się twoje rozwiązanie, ale mój przycisk "Przejdź" to obraz, więc myślę, że to by mnie nie zadziałało. Dzięki – Evans

+0

Możesz ustawić obraz jako obraz tła dla elementu przycisku. – RussellUresti

3

W Internet Explorer 6, height jest traktowany jako min-height, a min-height nie jest obsługiwany.

Możesz więc napisać regułę, która będzie dotyczyła tylko IE6, aby to naprawić.Załóżmy, że masz następujące elementy:

#navigation .nav-menu-item { 
    min-height:50px; 
} 

W celu uzyskania tego samego efektu w IE6 można dodać drugą regułę, która będzie używał tylko IE6. I mają tendencję do używania the star HTML hack:

#navigation .nav-menu-item { 
    min-height:50px; 
} 
* html #navigation .nav-menu-item { /* for IE6 */ 
    height:50px; 
} 

Możesz przeczytać więcej here.

+0

+1, ponieważ działa, ale myślę, że chodziło o 'wysokość' w ostatniej regule. – thirtydot

+0

@thirtydot - Tak! Dobry połów; Poprawiłem to. –

+0

Po zastosowaniu do formularza formularza trzydziestu dit, dla testu ustawiam wysokość i min-wysokość na 1px. Ze swoich postów pomyślałbym, że forma powinna pozostać na swojej oryginalnej wysokości, która jest większa niż 1 piksel, jednak skurczyła się do 1 px. – Evans