1. 程式人生 > >設定子元素在一個不清楚寬高的父元素中垂直居中

設定子元素在一個不清楚寬高的父元素中垂直居中

通過以下兩種方法便可以實現垂直居中的操作了,並且可以實現子元素在一個不清楚寬高的父元素中垂直居中的效果。
方法1. 使用定位和負margin可以實現。
(缺點:這種方法可以不用知道父元素的寬高,但是必需得知道子元素的寬高才可以設定)

<style type="text/css">
    .parent{
        /*父元素寬高隨便設定*/
        width: 700px;
        height: 500px;
        background: silver;
        position: relative;
        /*給父元素相對定位relative*/
}
.son{ width: 200px; height: 150px; background: lightgoldenrodyellow; position: absolute; /*子元素設定絕對定位absolute*/ left: 50%; top: 50%; margin-left: -100px; margin-top: -75px; /*設定偏移值left、top 和 負的margin使得子元素在父元素中居中*/ }
</style
>
<div class="parent">
    <div class="son"></div>
</div>

方法 2. 使用彈性盒子flexbox進行佈局。
做法:只需要給父元素設定三條屬性值(display: flex;justify-content: center;align-items: center;),不需要考慮父元素和子元素的寬高問題。

<style type="text/css">
    .parent{
        /*父元素寬高隨便設定*/
        width: 1200px;
        height
: 700px
; background: silver; display: flex; /*justify-content屬性定義了子專案在主軸上(X軸)的對齊方式。*/ justify-content: center; /*align-items屬性定義子專案在交叉軸(Y軸上)上如何對齊。*/ align-items: center; }
.son{ /*子元素寬高隨便設定*/ width: 200px; height: 150px; background: lightgoldenrodyellow; /*align-self: center;*/ /*可以不用設定:align-self屬性允許單個子專案有與其他子專案不一樣的對齊方式,可覆蓋父元素的align-items屬性。 * 預設值為auto,表示繼承父元素的align-items屬性,如果沒有父元素,則等同於stretch */ }
</style>
<div class="parent">
    <div class="son"></div>
</div>

相關推薦

定子元素一個清楚元素垂直居中

通過以下兩種方法便可以實現垂直居中的操作了,並且可以實現子元素在一個不清楚寬高的父元素中垂直居中的效果。 方法1. 使用定位和負margin可以實現。 (缺點:這種方法可以不用知道父元素的寬高,但是必需得知道子元素的寬高才可以設定) <sty

一個沒有固定的容器,為什麽置position:absolute後就可以全屏顯示了?

RM pan absolute 瀏覽器 容器 window posit 繼承 nbsp 此場景適用於移動端百分比布局,背景全屏顯示。 在一個沒有固定寬高的容器中設置背景,想要背景全屏顯示,設置寬高100%後還需設置position:absolut; 原因: absolute

css---元素高度確定,如何通過css樣式垂直居中

案例程式碼: <div id='box'> <section class='boxLeft'> <ul> <

【css】設定行,文字水平垂直居中顯示

利用display:table-cell; 表格<body> <div class="box">爆款推薦</div> <br/>

固定元素水平垂直居中

背景: 本文主要講述不用flex佈局和grid佈局時如何設定不定高寬元素的水平垂直居中,這是很多時候經常遇到的問題。 頁面結構 <div class="box"> <div class="content"><span>

css_eg01_讓知道的兩個元素水平垂直居中

html結構部分: <div id="parent"> <div id="child"> </div> </div> css部

DIV確定,在元素DIV絕對居中

第一種方法:<div class="parent"><div class="child"></div></div><style>.parent {    display: flex;    width: 100%; 

css固定div與固定div垂直居中的處理辦法

分配 css代碼 http min har 空間 -i dex round 固定高寬div垂直居中 如上圖,固定高寬的很簡單,寫法如下: 1 position: absolute; 2 left: 50%; 3 top: 50%; 4 width:200px;

裏面的div沒有,用padding置的50px來撐開,這個時候就需要用position:absolute或者relative來讓文本去掉繼承的外層的整寬度

寬高 div src .com padding back ota pad doc 1. <!DOCTYPE html><html><head><style>*{margin:0px;padding:0px;}#div1{pos

CSS未知元素,水平垂直居中

方法一:使用定位 思路:子元素絕對定位,距離頂部 50%,左邊50%,然後使用css3 transform:translate(-50%; -50%) 優點:高大上,可以在webkit核心的瀏覽器中使用 缺點:不支援IE9以下不支援transform屬性 <style> .par

css的div垂直居中的方法,百分比div垂直居中 2014年11月16日 19922次瀏覽 前言 我們都知道,固定的div在網頁垂直居中很簡單,相信大家也很容易的寫出來,但是是固定的d

前言 我們都知道,固定高寬的div在網頁中垂直居中很簡單,相信大家也很容易的寫出來,但是不是固定高寬的div如何垂直居中呢?我們在網頁佈局,特別是手機等web端網頁經常是不固定高寬的div,那麼這些div如何垂直居中呢?這篇文章,我總結一下。 固定高寬div垂直居中 如上圖,固定高寬的很簡單,寫法如下:

內聯元素為什麼可以設定

原則上來說:內聯元素是不能設定高度寬度的,如果要設定就需設定 display:block等,但是img input等內聯元素卻可以設定height width但某些元素通過設定float屬性也可以有寬和高,比如span元素是文件結構的基礎,在CSS中,每個元素生成了一個包含了

css 未知元素實現水平方垂直居中

<!DOCTYPE html><html><head><title></title></head><style type="text/css">.parent{display: table;h

元素通過js設定

html程式碼中用到object元素,但想通過js設定寬高。 如果在head中設定,會不起作用。 必須放到object後面才行。比如: <html> <head></

小三角設定-- 製作原理

<!doctype html> <html lang="en">  <head>   <meta charset="UTF-8">   <meta name="Generator" content="EditPlus®"

知道,水平-垂直居中顯示

1、Css3使用translate屬性,使不知道寬度、高度的元素實現水平、垂直居中 Css3程式碼: .wrapper{ padding:20px; background: orange; color: #fff; position: ab

一個元素在容器垂直居中的幾個方法

body 垂直居中 -s ntb offset set log off htm 方法一,使用js讓元素水平垂直居中 <!DOCTYPE html> <html> <head> <meta charset

38 內邊距 padding 1 padding-top right left bottom 2 盒子的大小 3 置padding內邊距 子元素默認都是在元素的內容區

元素 image 技術分享 內邊距 alt 邊距 pad img otto 1 2 38 內邊距 padding 1 padding-top right left bottom 2 盒子的大小 3 設置padding內邊距 子元素默認都是在父元素

js獲取元素下所有子元素總寬度賦值給元素

網上 () func back 賦值 click button article ack 這個問題是今天在網上看到有人提的。 想要獲取#box下面所有div的寬度之和,然後賦值給#box,不論加多少個div,#box的寬都會隨著div的增加而改變。 <styl

置span在div垂直居中

style -s 位置 In 正常 csdn strong -a TP 轉自:https://blog.csdn.net/weirenkuan/article/details/51177695 使用display:table-cell,span中內容無論多少,都可以垂直居