• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmiana rozmiaru buttona po najechaniu na niego

Object Storage Arubacloud
0 głosów
965 wizyt
pytanie zadane 20 listopada 2018 w HTML i CSS przez Uzytkowniczka Nowicjusz (220 p.)

Witam, 
Mam problem z przyciskiem w formularzu, który zmienia swój rozmiar po najechaniu na niego(.form__submit:hover). Domyślam się, że jest to spowodowane nadanym borderem, ale nie rozumiem dlaczego skoro w stylach określiłam box-sizing:border-box.
Na razie nadałam .form__submit taki sam border tylko o kolorze białym, tak żeby nie był widoczny ten przeskok. Wiem, że to pewnie nie jest dobre rozwiązanie, dlatego proszę o pomoc jeśli ktoś wie na czym polega mój błąd. 
Poniżej wklejam kod html i css mojego formularza.

Z góry dziękuję wszystkim za pomoc ;)

 <form action="#" method="post" class="form">               
                        <label for="name" class="visuallyhidden">name</label>
                            <input id="name" class="form__input" type="text" name="name" placeholder="name" required>
                        
                        <label for="email" class="visuallyhidden">email</label>
                            <input id="email" class="form__input" type="email" name="email" placeholder="email" required>
                        
                        <label for="topic" class="visuallyhidden">topic</label>
                            <textarea id="topic" class="form__textarea" name="topic" cols="30" rows="1" minlength="50" maxlength="150" placeholder="topic" require></textarea>                  
                        
                        <button class="form__submit" type="submit" name="submit">send</button>         
                    </form>
*{
    box-sizing: border-box;
}
.form__input, .form__textarea, .form__submit{
    margin-bottom: 10%;
    width: 100%;
    font-family: 'Karla', sans-serif;
    font-size: 0.9rem;        
}
.form__submit{
    padding:2% 0;
    text-transform: uppercase;
    background-color: #e2e2e2;
    border: 0.125em solid #fff;
    color:#505050;    
    cursor: pointer; 
    transition: all 1s;             
}
.form__submit:hover{
    border: 0.125em solid #dddddd;
    background-color: #fff;    
}

 

1 odpowiedź

+1 głos
odpowiedź 20 listopada 2018 przez Grzegorz :> Dyskutant (8,050 p.)
wybrane 21 listopada 2018 przez Uzytkowniczka
 
Najlepsza
Na codepenie wszystko działa prawidłowo. Button ma taką samą wysokość i szerokość po najechaniu myszką. Chyba, że nie rozumiem o co Ci chodzi

https://codepen.io/anon/pen/MzrEXQ
komentarz 20 listopada 2018 przez Grzegorz :> Dyskutant (8,050 p.)
Ten button może sprawiać wrażenie powiększenia, bo po najechaniu myszką jego border, który jest koloru białego zamienia się na szary.
komentarz 20 listopada 2018 przez Uzytkowniczka Nowicjusz (220 p.)

@Grzegorz :>,
No właśnie zastanawiam się dlaczego gdy nadam

.form__submit{
border:0;
}
.form__submit:hover{
    border: 0.125em solid #dddddd;   
}

dlaczego wysokość buttona się zmienia mimo box-sizing:border-box;

komentarz 20 listopada 2018 przez Grzegorz :> Dyskutant (8,050 p.)
A, teraz widzę o co Ci chodzi. Musisz temu buttonowi nadać height jakiś. Wtedy box-sizing trzyma się tej wysokości :>
komentarz 21 listopada 2018 przez Uzytkowniczka Nowicjusz (220 p.)

Faktycznie działa jeśli nadam height np. w rem albo vh. Jeśli podam wartość w procentach to problem nadal pozostaje.

.form__submit{
    padding:2% 0;
    text-transform: uppercase;
    background-color: #e2e2e2;
    border: 0;
    color:#505050;    
    cursor: pointer; 
    transition: all 1s;    
    height:15%;
}

 

1
komentarz 21 listopada 2018 przez Grzegorz :> Dyskutant (8,050 p.)
Wysokość w procentach podaje się do określenia wysokości względem bloku, w którym dany element się znajduje. Jeśli chcesz podać wartości w procentach, możesz dodać pozycjonowanie absolutne dla buttona (wtedy wysokość będziesz określać względem okna przeglądarki) lub wstawić go do jakiegoś diva, któremu nadasz odpowiednią wysokość.

Opcja z divem:
https://codepen.io/anon/pen/MzrEXQ

Opcja z position:absolute:
https://codepen.io/anon/pen/dQdWpq
komentarz 21 listopada 2018 przez Uzytkowniczka Nowicjusz (220 p.)

Ok rozumiem. Dzięki za pomoc smiley

Podobne pytania

0 głosów
2 odpowiedzi 250 wizyt
0 głosów
1 odpowiedź 187 wizyt
pytanie zadane 8 marca 2016 w HTML i CSS przez DariuszH Gaduła (3,100 p.)
0 głosów
1 odpowiedź 158 wizyt
pytanie zadane 22 kwietnia 2016 w HTML i CSS przez TheVirus Początkujący (480 p.)

92,568 zapytań

141,424 odpowiedzi

319,634 komentarzy

61,956 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...