Aby wyśrodkować element HTML, mogę użyć CSS left: 50%;
. Jednak powoduje to wyśrodkowanie elementu względem całego okna.
Mam element, który jest dzieckiem <div>
elementu i chcę wyśrodkować dziecko względem tego rodzica <div>
, a nie całego okna.
Nie chcę, <div>
aby cała zawartość kontenera była wyśrodkowana, tylko jedno konkretne dziecko.
text-align
że @pasine nie działa na<i>
elemencie. Dając mu klasę…display: table-cell
lubflexbox
do tego. Spójrz na link, który dodałem.W rzeczywistości jest to bardzo proste w przypadku skrzynek elastycznych CSS3 .
AKTUALIZACJA:
Wygląda na to, że nie czytałem edycji OP w czasie, gdy pisałem tę odpowiedź. Powyższy kod wyśrodkuje wszystkie elementy wewnętrzne (bez nakładania się między nimi), ale OP chce, aby wyśrodkowany był tylko określony element , a nie inne elementy wewnętrzne. Zatem druga metoda odpowiedzi @Warface jest bardziej odpowiednia, ale nadal wymaga wyśrodkowania w pionie:
źródło
CSS
HTML
Powinno to wyśrodkować div
2016 - metoda HTML5 + CSS3
CSS
HTML
Fiddledlidle
https://jsfiddle.net/1z7m83dx/
źródło
text-align:center;
w nadrzędnym div Powinno załatwić sprawęźródło
Aby wyśrodkować tylko określone dziecko:
LUB, możesz też użyć flex, ale to wyśrodkowałoby wszystkie dzieci
źródło
Możesz użyć nazwy klasy flex bootstrap w ten sposób:
To zadziała nawet z wieloma elementami w środku.
źródło
Czy div ma stałą szerokość, czy płynną szerokość? Tak czy inaczej, dla szerokości płynu możesz użyć:
Możesz też ustawić nadrzędny element DIV na,
text-align:center;
a podrzędny element DIV natext-align:left;
.I
left:50%;
tylko wtedy wyśrodkowuje go względem całej strony, gdy element div jest ustawiony naposition:absolute;
. Jeśli ustawisz div naleft:50%;
to, powinno to zrobić w odniesieniu do szerokości nadrzędnego div. W przypadku stałej szerokości wykonaj następujące czynności:źródło
po prostu daj rodzicowi div
position: relative
źródło
Jeśli chcesz używać CSS3:
Możesz przeprowadzić dalsze wyszukiwania, aby dowiedzieć się, jak uzyskać procent pasujący do szerokości elementu.
źródło
Przede wszystkim możesz to zrobić z left: 50%, aby wyśrodkować go względem nadrzędnego div, ale do tego musisz nauczyć się pozycjonowania CSS.
Jednym z wielu możliwych rozwiązań jest zrobienie czegoś takiego
jeśli twój element DIV, który ma być wyśrodkowany, jest ustawiony względnie, możesz to zrobić
źródło
text-align:center;
left: 50% działa resekcyjnie do najbliższego rodzica z przypisaną statyczną szerokością. Spróbuj width: 500px lub coś w nadrzędnym div. Alternatywnie, ustaw zawartość, której potrzebujesz, aby była wyśrodkowana: zablokuj i ustaw lewy i prawy margines na automatyczny.
źródło
Jeśli element potomny jest wbudowany (np. Nie jest a
div
,table
itp.), Zawinąłbym go wewnątrz adiv
lub ap
i sprawiłbym, że właściwość CSS wyrównania tekstu opakowania byłaby równa środkowi.W przeciwnym razie, jeśli element jest blokiem (
display: block
np. Adiv
lub ap
) o stałej szerokości, ustawiłbym jego właściwości CSS left i right na auto.Możesz oczywiście dodać
text-align: center
do elementu wrapper, aby również wyśrodkować jego zawartość.Nie będę zawracać sobie głowy pozycjonowaniem, ponieważ IMHO nie jest sposobem na rozwiązanie problemu z PO, ale koniecznie sprawdź ten link , bardzo pomocny.
źródło
Utwórz nowy element div, aby element był wyśrodkowany, a następnie dodaj klasę specjalnie do wyśrodkowania tego elementu w ten sposób
CSS
źródło
Znalazłem inne rozwiązanie
iw ciele
Spowoduje to wyśrodkowanie elementu div zawartości, gdy kontener będzie większy lub mniejszy. W tym przypadku zawartość powinna być większa niż 1100% kontenera, aby nie była wyśrodkowana, ale w takim przypadku możesz zrobić z kontenera Drugi większy i zadziała
źródło
Przypisz
text-align: center;
do rodzica idisplay: inline-block;
do div.źródło
na przykład mam element div artykułu, który znajduje się wewnątrz elementu div z główną zawartością. Wewnątrz artykułu znajduje się obraz, a pod nim znajduje się przycisk, styl w następujący sposób:
.article {
} .article {
}
/ * w artykule chcę wyśrodkować obraz * /
.article img {
}
/ * Teraz pod tym obrazem w tym samym elemencie artykułu powinien znajdować się przycisk jak czytaj więcej Oczywiście musisz pracować z em lub%, gdy znajduje się w responsywnym projekcie * /
.button {
}
Powodzenia
źródło
Jeśli chcesz wyśrodkować elementy wewnątrz div i nie przejmujesz się wielkością podziału, możesz użyć mocy Flex. Wolę używać flexu i nie używam dokładnego rozmiaru elementów.
Jak widać, Zewnętrzny element div jest kontenerem Flex, a wewnętrzny musi być elementem Flex, który został określony
flex: 1 1 auto;
za pomocą dla lepszego zrozumienia. Możesz zobaczyć tę prostą próbkę.http://jsfiddle.net/QMaster/hC223/Mam nadzieję, że to pomoże.
źródło
mój chciałby magii.
źródło
źródło