Od jakiegoś czasu szukałem rozwiązania, ale nic nie znalazłem. Może to tylko moje wyszukiwane hasła. Cóż, próbuję wyśrodkować płótno zgodnie z rozmiarem okna przeglądarki. Płótno ma wymiary 800x600. A jeśli okno spadnie poniżej 800x600, powinno również zmienić rozmiar (ale to nie jest w tej chwili bardzo ważne)
105
Odpowiedzi:
Nadaj kanwie następujące właściwości stylu CSS:
Edytować
Ponieważ ta odpowiedź jest dość popularna, dodam trochę więcej szczegółów.
Powyższe właściwości wyśrodkują w poziomie płótno, div lub jakikolwiek inny węzeł, który masz względem jego rodzica. Nie ma potrzeby zmiany górnych lub dolnych marginesów i wypełnień. Określasz szerokość i pozwalasz przeglądarce wypełnić pozostałe miejsce automatycznymi marginesami.
Jeśli jednak chcesz wpisać mniej, możesz użyć dowolnych skróconych właściwości CSS, takich jak
Centrowanie płótna w pionie wymaga jednak innego podejścia. Musisz użyć pozycjonowania bezwzględnego i określić zarówno szerokość, jak i wysokość. Następnie ustaw właściwości left, right, top i bottom na 0 i pozwól przeglądarce wypełnić pozostałe miejsce automatycznymi marginesami.
Kanwa wyśrodkuje się na podstawie pierwszego elementu nadrzędnego, który ma
position
ustawioną wartośćrelative
lubabsolute
, lub treści, jeśli nie zostanie znaleziona.Innym podejściem byłoby użycie
display: flex
tego, co jest dostępne w IE11Upewnij się również, że używasz najnowszego typu dokumentu, takiego jak xhtml lub html 5.
źródło
Możesz nadać swojemu płótnie właściwości CSS ff:
źródło
Po prostu wyśrodkuj element div w HTML:
Po prostu zmień wysokość i szerokość na dowolną, a otrzymasz wyśrodkowany element div
http://jsfiddle.net/BVghc/2/
źródło
Aby wyśrodkować element canvas w poziomie, musisz określić go jako poziom bloku i pozostawić jego właściwości lewego i prawego marginesu przeglądarce:
Jeśli chcesz wyśrodkować go w pionie, element canvas musi być bezwzględnie ustawiony:
Jeśli chcesz wyśrodkować go w pionie i poziomie, zrób:
Aby uzyskać więcej informacji, odwiedź: https://www.w3.org/Style/Examples/007/center.en.html
źródło
Powyższe odpowiedzi działają tylko wtedy, gdy płótno ma taką samą szerokość jak kontener.
Działa to niezależnie od:
źródło
Użyj tego kodu:
źródło
Miałem ten sam problem, ponieważ mam zdjęcia o wielu różnych szerokościach, które ładuję tylko z informacją o wysokości. Ustawienie szerokości umożliwia przeglądarce rozciąganie i ściskanie obrazu. Rozwiązuję ten problem poprzez wyśrodkowanie linii tekstu tuż przed linią image_tag (również pozbywając się float: left;). Chciałbym, żeby tekst był wyrównany do lewej, ale jest to drobna niedogodność, którą mogę tolerować.
źródło
Dodaj
text-align: center;
do tagu nadrzędnego o<canvas>
. Otóż to.Przykład:
źródło