Tworzę witrynę za pomocą DIV
s. Wszystko działa, chyba że utworzę DIV. Tworzę je w ten sposób (przykład):
newdiv {
width: 200px;
height: 60px;
padding-left: 20px;
text-align: left;
}
Gdy dodam padding-left
właściwość, szerokość DIV
zmian zmieni się na 220 pikseli, a chcę, aby pozostała na poziomie 200 pikseli.
Załóżmy, że tworzę inny DIV
o anotherdiv
dokładnie takiej samej nazwie newdiv
i umieszczam go w środku, newdiv
ale newdiv
nie ma wypełnienia i anotherdiv
ma padding-left: 20px
. Dostaję to samo, newdiv
szerokość będzie wynosić 220 pikseli.
Jak mogę rozwiązać ten problem?
Odpowiedzi:
Dodaj nieruchomość:
Uwaga: To nie będzie działać w przeglądarce Internet Explorer poniżej wersji 8.
źródło
Umieść div w swoim newdiv za pomocą
width: auto
imargin-left: 20px
Usuń wypełnienie z newdiv.
Strona modelu W3 Box ma dobre informacje.
źródło
Spróbuj tego
źródło
Jeśli chcesz wciąć tekst w div bez zmiany rozmiaru div, użyj CSS
text-indent
zamiastpadding-left
.źródło
po prostu dodaj
box-sizing: border-box;
źródło
Tak, to jest dokładnie zgodne ze standardami. Tak to powinno działać.
Nie, newdiv pozostanie szeroki na 200 pikseli.
źródło
po prostu zmień szerokość div na 160px, jeśli masz wypełnienie 20px, to dodaje 40px do szerokości diva, więc musisz odjąć 40px od szerokości, aby utrzymać div wyglądający normalnie i nie zniekształcony z dodatkową szerokością na nim i twój tekst wszystko zawalił.
źródło