Czy można uzyskać wartość 100px mniejszą niż 100% w czystym CSS? Chcę, aby model <div>
był tylko 50px mniejszy niż 100%. Nie chcę żadnego JavaScript.Czy w CSS3 można utworzyć 50px mniej niż 100%?
Odpowiedz
Tak, można. Bez użycia IE expression()
, możesz to zrobić w CSS3 przy użyciu calc()
.
div {
width: 100%;
width: -webkit-calc(100% - 50px);
width: -moz-calc(100% - 50px);
width: calc(100% - 50px);
}
Demo: http://jsfiddle.net/thirtydot/Nw3yd/66/
To uczyni Twoje życie o wiele łatwiejsze. To jest obecnie obsługiwana w 3 głównych przeglądarek: Firefox, Google Chrome (WebKit) oraz IE9: http://caniuse.com/calc
Problemy są a) pytanie nie było jasne co do szerokości a wysokości i b) samo-odpowiedź nie jest najlepszą odpowiedzią. Dla szerokości, sandeep jest lepszy, na wysokość, gilly3. Odpowiedź OP nie jest dziś obsługiwana w przypadku niektórych statystyk statystycznych dotyczących przeglądarek. (IE7/8) – shannon
BTW: Nieprefiksowana wersja powinna iść po przedrostkowej wersji, a nie wcześniej. Zobacz https://developer.mozilla.org/Writing_Forward_Compatible_Websites Ponadto, z mojego doświadczenia, wiele sytuacji calc() można zastąpić przez 'box-sizing'. – luiscubal
"Wyrażenie()" powoduje problemy, ponieważ przeglądarka przelicza funkcje (wewnątrz wyrażeń) na każdy piksel myszy, co wpływa na wykorzystanie procesora. I w tym przypadku (z calc) tak się dzieje? – 19WAS85
DIV automatycznie przyjmuje szerokość jego rodzica. Nie ma więc potrzeby definiowania żadnego width
. Zwykle po prostu napisać to tak:
div{
margin-right:50px;
}
Sprawdź to fiddle
Inną alternatywą jest pozycjonowanie bezwzględne.
div {
position: absolute;
left: 0;
right: 50px;
}
Ale rozwiązanie Sandeep jest jeden należy zazwyczaj użyć. Po prostu unikaj nadużywania float
. Zapobiega to naturalnemu napełnianiu pojemnika.
Tak, możemy to zrobić poprzez
#custom_div{
width:100%;
margin-right:50px;
}
Dzięki
dlaczego definiujesz width: auto; – sandeep
To jest ta sama odpowiedź co "sandeep", oprócz 'width: auto;', która nie ma żadnego efektu. Twoja odpowiedź nie dodaje żadnej wartości. Zamiast zamieszczać własną wersję odpowiedzi Sandeep, powinieneś mieć wziętą odpowiedź sandeep. –
Moje rozwiązanie działa i bez float: left
.
HTML:
<div></div>
css:
div {
height: 20px;
background: black;
float: left;
width: 100%;
padding-right: 50px;
box-sizing: border-box;
background-clip: content-box;
}
Kompatybilność:
Firefox 3.6, Safari 5, Chrome 6, Opera 10, IE 9
Divy w twojej metodzie wciąż zajmują całą szerokość ekranu, więc jeśli umieścisz dwa z nich, nie będziesz mógł ich unieść w stosunku do drugiego. – Chango
Korzystanie z wyświetlacza block
i margin
. display:block
, gdy nie jest połączony ze zdefiniowanym height
/width
, spróbuje wypełnić obiekt nadrzędny.
header {
width:100%;
background:#d0d0d0;
height:100%;
}
h1 {
display:block;
border:#000 solid 1px;
margin:0 50px 0 0;
height:100px;
}
<header>
<h1></h1>
</header>
- 1. Junit: mniej niż asercja?
- 2. Czy można nakładać przezroczysty gradient css3 na obraz tła?
- 3. Lucene.Net większy niż/mniej niż TermRangeQuery?
- 4. Jak ustawić super cienką "grubość czcionki" (mniej niż 100) w CSS?
- 5. jQuery sprawdzanie poprawności mniej niż
- 6. x86 Czy push/pop może mieć mniej niż 4 bajty?
- 7. namespace std przeciążenia mniej niż
- 8. zagnieżdżanie> (większe niż) w mniej CSS
- 9. Jak utworzyć niestandardowe kółko ładujące CSS3?
- 10. Nie można utworzyć woluminu większego niż 2 GB w openstacku
- 11. większa niż, mniej niż równe, większe niż równe MIPS
- 12. Przetwarzaj listę z pętlą, pobierając po 100 elementów za każdym razem i automatycznie mniej niż 100 na końcu listy.
- 13. Czy można utworzyć projekt gradacji z więcej niż 2 poziomami?
- 14. Czy Apache Spark jest mniej dokładny niż Scikit Learn?
- 15. Czy operator <(mniej niż) na wskaźnikach jest zgodny?
- 16. Jak ustawić okno mniejsze niż 100 pikseli?
- 17. Czy wyszukiwanie trójskładnikowe jest mniej wydajne niż ten powiązany algorytm?
- 18. Czy (* i) .member mniej wydajny niż i-> członek
- 19. Mniej niż operator poprzez niejawną konwersję?
- 20. Test równoważności z tylko mniej niż operatora?
- 21. lxml obcina tekst zawierający znak "mniej niż"
- 22. Jak utworzyć wielobarwną obramowanie w css3
- 23. Jak utworzyć 100% niestandardowy DialogFragment
- 24. Center OwlCarousel, gdy mniej niż X przedmiotów
- 25. Czy można utworzyć listę zasobów w Xaml?
- 26. Okrąg widoku z mniej niż 4 widokami
- 27. Czy zamiast z-index można użyć css3 translateZ()?
- 28. Ruby spać lub opóźnić mniej niż sekundę?
- 29. Jak utworzyć radialny cień gradientu css3
- 30. Wskaźniki złożone z Mongo, używające mniej niż wszystkiego w zapytaniu
@hakre - link jest w CSS, a to jest w CSS3. –
jak to jest CSS nie CSS3 a nie CSS a nie CSS3, czy CSS nie ...?Jeśli zapytasz wprost o funkcję CSS, która została sformułowana tylko w wersji 3, poproś o nią (nie CSS ogólnie - tak, twoje ciało pytania różni się od tego tytułu tutaj, więc nie obwiniaj mnie;)) – hakre
Cóż, popatrz w treści poniżej tytułu pytania. Powinieneś użyć ciała, aby zadać pytanie CSS3 jednoznacznie (a gdy mówimy, powiedzmy, jeśli CSS3 lub CSS3 +) – hakre