整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          CSS垂直居中,你會多少種寫法?

          CSS垂直居中,你會多少種寫法?

          SS控制居中是前端開發中非常常用的布局技能,本文列出幾種CSS控制元素居中的幾種方法。

          談及HTML元素居中展示,涉及到水平居中和垂直居中,以及水平垂直居中。由于HTML文檔流是水平方向的,所以水平方向上的布局控制比垂直方向要簡單很多,居中也是如此。不過(水平)垂直居中還是有很多種寫法,至少一只手是數不過來了,本文列出幾種,并進行簡單比較。

          一、水平居中

          使用CSS控制水平居中很簡單:

          • 塊級元素 設置width,并設置margin auto
          • 內聯元素 父元素設置text-align center
          • HTML代碼如下:
          <div class="container">
           <div class="content">
           水平居中哦
           </div>
          </div>
          

          1. 塊級元素水平居中

          .container {
           height: 300px;
           width: 300px;
           border: 1px solid red;
          }
          .content {
           width: 10rem;
           border: 1px solid green;
           margin: 0 auto;
          }
          

          效果:

          2. 內聯元素水平居中

          .container {
           height: 300px;
           width: 300px;
           border: 1px solid red;
           text-align: center;
          }
          .content {
           display: inline-block;
           border: 1px solid green;
          }
          

          效果:

          代碼很簡單,而且沒什么兼容性問題,所以通常也不需要用別的復雜方式來實現水平居中效果。

          二、水平垂直居中

          使用CSS控制垂直居中(或者水平垂直居中)就不像控制垂直居中那么方便,這里主要羅列幾種。

          1. flex布局

          flex布局出現以后,垂直居中就很方便了,直接設置父元素:

          display flex
          align-items center
          

          如果同時要水平居中,則同時設置:

          justify-content center
          

          需要注意的是IE10+才支持,webkit前綴瀏覽器設置flex屬性需要加webkit。

          .container {
           width: 300px;
           height: 300px;
           border: 1px solid red;
           display: -webkit-flex;
           display: flex; // 關鍵屬性
           align-items: center; // 垂直居中
           justify-content: center // 水平居中
          }
          .content {
           border: 1px solid green;
          }
          

          2. margin+ position:absolute布局

          position: absolute布局的元素,通過設置top/bottom, left/right這兩對屬性,可以讓元素在垂直方向和水平方向分別具有了自適應的特性。就像div在水平方向的默認表現一樣!

          上文中對于塊級元素的水平居中,我們設置寬度然后配合以margin可以實現水平居中。而對于設置了top/bottom,left/right的absolute定位元素,我們設置寬高再配合margin就可以達到水平垂直居中:

          .container {
           width: 300px;
           height: 300px;
           position: relative;
           border: 1px solid red;
          }
          .content {
           position: absolute;
           left: 0;
           right: 0;
           top: 0;
           bottom: 0;
           width: 200px;
           height: 100px;
           margin: auto;
           border: 1px solid green;
          }
          

          效果:

          兼容性很好,IE8以上支持。

          3. transform + absolute

          absolute定位元素的left、top屬性是子元素的左邊界、上邊界相對父元素進行定位;transform是CSS3中非常強大的一個屬性,可以接收多個屬性值,包括旋轉、縮放、平移等多種功能。這里使用二者配合,先將子元素左上定點定位到父元素中心點,再使用transform將子元素中心點移動到父元素的中心點即可:

          .container {
           width: 300px;
           height: 300px;
           position: relative;
           border: 1px solid red;
          }
          .content {
           position: absolute;
           left: 50%;
           top: 50%;
           transform: translate(-50%, -50%); 
           border: 1px solid green;
          }
          

          效果:

          這個方法有個小缺陷,就是translate函數的參數,最后的計算值不能為小數,否則有的瀏覽器渲染出來效果會模糊,所以使用本方法的話最好設置一下寬高為偶數。

          4. absolute+margin負值

          與上一種方法很類似,上一種方法是使用transform將元素向左上平移,本方法則是使用margin負值的方式將元素拉向左上角。

          代碼:

          .container {
           width: 300px;
           height: 300px;
           position: relative;
           border: 1px solid red;
          }
          .content {
           position: absolute;
           left: 50%;
           top: 50%;
           width: 200px;
           height: 100px;
           margin-top: -50px;
           margin-left: -100px;
           border: 1px solid green;
          }
          

          效果:

          5. absolute + calc

          從上兩種方法可以看到,absolute設置了left和top再通過平移或者margin將元素重新定位回去。如果我們直接可以計算出正確的left和top值,豈不是一次到位?calc函數正有此功能,當然我們需要知道子元素的寬高:

          .container {
           width: 300px;
           height: 300px;
           border: 1px solid red;
           text-align: center;
           position: relative;
          }
          .content {
           position: absolute;
           border: 1px solid green;
           width: 200px;
           height: 100px;
           left: calc(50% - 100px);
           top: calc(50% - 50px);
          }
          

          效果:

          6. line-height + vertical-align

          vertical-align是一個作用于內聯元素的屬性。內聯元素的特性是會和其它內聯元素或者文字在同一行顯示,但是默認情況下是與父元素“基線對齊”的。這里的的基線指的是父元素每一行中的一個垂直位置,是英文x下邊緣所在的水平, 通過設置vertical-align為middle可以將內聯元素的中部對齊父元素的中部(基線+字母x的一半高度)。所以可以利用這一點,將父元素的行高設置為其自身高度,然后將子元素與父元素中線對齊,即可實現垂直居中。

          代碼:

          .container {
           width: 300px;
           height: 300px;
           border: 1px solid red;
           line-height: 300px;
           text-align: center;
          }
          .content {
           display: inline-block;
           line-height: 1.5;
           border: 1px solid green;
           vertical-align: middle;
          }
          

          效果:

          以上幾種方法各有不同的適用條件,因此也有不同的優缺點,下表對各種方法進行了比較:

          方法條件兼容性flex布局無IE10+margin + absolute知道子元素寬高IE8+transform + absolute無,子元素寬高應為偶數IE10+absolute + margin負值知道子元素寬高absolute + calc知道子元素寬高IE9+line-height + vertical-align知道父元素寬高

          CSS中同一種表現效果往往有多種不同的實現方法,要刻意地嘗試多種寫法,避免熟悉了一兩種方法就止步不前,這樣才能對各種情況得心應手

          天是劉小愛自學Java的第76天。

          感謝你的觀看,謝謝你。

          話不多說,繼續html的學習:

          昨天學習了最基礎的文本標簽及屬性,除此之外還有很多其它標簽,今天逐一學習。

          一、鏈接標簽(a標簽)

          a標簽有一個必不可少的屬性:href。href也就是超鏈接的意思。

          下面編寫代碼,其中我每行之間用了兩個換行符(<br/><br/>),為了使頁面看起來相對而言更加美觀些。

          ①href="#"

          作用是跳轉本頁面。

          ②href="對應網頁鏈接地址"

          作用是跳轉到對應網頁。

          ③href="本地主頁"

          這個呢是我自己電腦里面的一個html文件,自己可以訪問,但是別人就沒法訪問了。

          ②中的是只要網址能打開,所有人都能訪問。

          ④href="mailto:對應郵箱地址"

          作用是用本地的郵箱客戶端,給填寫的郵箱發送郵件。

          ⑤target="_self"

          self,自身的意思,作用就是在當前頁面中打開填入的網頁鏈接。

          ⑥target="_blank"

          blank,空白的意思,作用就是在新窗口中打開填入的網頁鏈接。

          ⑦title="劉小愛的博客"

          title,又是標題,這里的作用是:當我們將鼠標放在當前鏈接上的時候會出現一個標題提示。

          代碼編寫完畢,做一個測試:

          其中有個小常識:

          左鍵直接點擊,會在當前頁面中打開對應鏈接。

          Ctrl+左鍵點擊,會在新的頁面中打開對應鏈接。

          二、圖片標簽和列表標簽

          1圖片標簽

          image,圖像的意思,簡寫為img,圖片標簽也就是用img來表示。

          ①src="圖片地址"

          如果是本地圖片,寫出圖片所在的路徑即可。

          如果是網絡圖片,寫出其對應的鏈接即可。

          其中width為寬度,height為高度,如果只設置其中一項,高度和寬度是等比例縮放的。

          當然也可以寬度高度同時設置不同的值。

          ②alt="圖片丟失了啦"

          如果圖片丟失了,就會顯示alt里面的內容。

          ③title="我是劉小愛"

          同a標簽一樣,當鼠標放在該圖片上時,會顯示title里的內容。

          2列表標簽

          list,即列表的意思,其中又分為有序列表和無序列表。

          有序列表:ordered list,簡寫就是ol。

          ①type="1"

          數字排序,這也是默認的有序排序規則,所以可以省略不寫。

          ②type="a"

          使用小寫字母排序,詳情見上圖。

          ③type="A"

          使用大寫字母排序,詳情見上圖。

          ④type="Ⅰ"

          使用羅馬字母排序,詳情見上圖。

          ⑤type="i"

          使用字母i來排序,詳情見上圖。

          無序列表:unordered list,簡寫就是 ul。

          ①type="disc"

          disc,唱片、圓盤的意思,這是無序列表的默認屬性,所以可以省略不寫。

          ②type="circle"

          circle,圓形的意思。

          ③type="square"

          square,正方形的意思。

          三、表格標簽

          1基本介紹

          table,表格的意思,這在學數據庫時就接觸過。

          tr,tablerow的縮寫,表示的是表格中的行。

          td,tabledata的縮寫,表示的是表格中的數據。

          ①單元格:cell:細胞的意思,在表格中就表示為一個單元格。

          ②表格外邊框:border,邊界的意思,用其可以設置外邊框的粗細。

          ③單元格外間距:cellspacing,用其設定外間距。

          ④單元格內間距:cellpadding,用其設定內間距。

          其中width表示表格的寬度,并且外間距一般都會設定為0,不然都不像是個表格的樣子。

          ①caption標簽

          標題的意思,用以說明表格的標題,我這邊還用了一個b標簽將其給加粗了。

          ②th標簽

          table head的簡寫,也就是表格的表頭,它是默認居中加粗的。

          當然我們也可以根據align屬性來設定排序位置(居左,居中,居右)。

          此外,其中也可以使用thead、tbody、tfoot標簽來劃分表格。

          • thead表示表格的頭部。
          • tbody表示表格的主體。
          • tfoot表示表格的腳部。

          這個稍作了解即可,感覺使用這些標簽和不使用這些標簽對表格本身沒有影響。

          2表格快速模板設置

          看到左上角那個黃燈后點擊,選擇Language Injection Settings,最后選擇html即可。

          這樣設置后就可以使用表格快速創建模板了。

          先輸入table>tr*4>td*4,再加上Tab鍵,即可快速創建一個4*4的表格。

          3合并單元格

          ①rowspan

          合并行的意思,相同的列不同的行。

          “2”的意思就是表示是跨兩行,從第1行開始將第1行和第2行合并起來了。

          既然如此,那么第2行總共也就只需要3列了,所以將其第2行第1列刪除。

          ②colspan

          合并列的意思,相同的行不同的列。

          “3”的意思就是表示是跨3列,從第2列開始將第2列第3列和第4列合并起來了。

          既然如此,那么第3行總共也就只需要2列了,所以將第3行中第3列第4列刪除。

          最后

          謝謝你的觀看。

          如果可以的話,麻煩幫忙點個贊,謝謝你。

          申請人成功拿到移民簽,準備登陸加國開啟美好新生活的時候,是不是除了興奮之外,還會有一點小迷茫?第一次登陸加拿大,應該注意些什么呢?別急,小編將給你一一解答。

          登陸之前事項

          登陸期:一般為體檢后一年,全家人都要在最晩登陸期之前登陸,且副申請人不得早于主申請人登陸(可以同時登陸或主申請人先登陸)。

          新移民第一次登陸,需要重點關注的是登陸時間,并不是說拿到移民簽證之后隨時可以登陸。我們需要在移民簽證到期之前完成登陸,而楓葉卡從辦理到收取需要1-3個月,所以環球出國建議,申請人在移民簽證到期前3個月登陸,可無縫切換楓葉卡。

          移民證件:準備好全家人貼好簽證的護照以及移民紙。

          機票及行李:提前定機票會比較便宜,暑期和圣誕節是旺季,登陸應盡量避免這個時期

          訂票時請留意各航空公司對于行李的規定,不要超重。

          現金及銀行開戶:每個人(包括小孩)可以攜帶不超過1萬加元的現金,超過部分須申報。可以提前開好加拿大本地銀行賬戶,并預先匯款至該賬戶,抵達后只需要到預約銀行激活即可領取銀行卡并使用。

          加拿大的地址用以接收楓葉卡:可以是親戚或朋友的地址,入境時需填寫。

          子女上學的報名文件:根據不同階段提供相應階段的文件。

          駕照:國內駕照公證件可在登陸后使用三個月,之后須考本地或國際駕照。

          物品清單:視長登或短登準備相應數量的物品,加拿大海關對新移民第一次帶的所有物品入境是免稅的。

          禁止攜芇:武器、煙花鞭炮、毒品、文物、珍稊動植物制品、肉、蔬菜、水果、雞蛋及奶制品等入境。19歲以上的旅客每人可帶1.5升酒(或1.14升白酒)、200支香煙(或50支雪茄)入境,超量將征收關稅

          特別注意:若登陸前您的婚姻或子女情況發生變化,請一定要提前告知移民局。


          入境程序

          不管我們選擇哪個城市登陸,入境手續都大同小異。

          第一步:飛機下機前,我們會收到一份“海關申報單”

          第二步:拿到申報單之后,要去“護照檢查處”。

          流程如下:在新移民檢查處出示護照和移民簽證,然后接受工作人員的身份核實和一些細節詢問,移民官員在移民紙上簽字蓋章,然后領取行李接受海關的檢查后就可以離開了。(注意:移民紙是非常重要的文件,一定要妥善保管哦!)


          以上每個關卡的具體事宜:

          在護照檢查處:在這里要通知移民局的審核官員(IO)做我們的“入境登記”。移民局官員會檢查移民的入境申報單和護照,以及簽證,然后會指導移民前往“移民柜臺”。

          加拿大邊境服務局(Canada Border Services Agency):這是一個很重要的地點,所有報關的物品都會在這里檢查。需要帶上三樣證件:

          1.所帶物品清單

          2.運輸貨物清單

          3.貨幣申報單

          前兩份清單必須要準備兩份,一份由CBSA(加拿大邊境服務局)保留,第二份在檢查完之后會退給我們,在運輸貨物的時候會被用到。

          就算沒有出國經驗,也不用太擔心,通常邊境服務局里的所有的工作人員都非常友好,也樂于助人。在資料準備齊全,并且排隊人數不多的情況下,上述流程花費時間約為40分鐘到1個小時,在此期間還能完成行李領取等其他事情。

          入境需要準備的資料清單如下:

          1)每位家庭成員的加拿大移民簽證和移民紙;

          2)每位家庭成員的護照或旅行證;

          3)兩份攜帶入境的個人物品及其價值的明細表;

          4) 兩份即將要抵達入境的個人物品及其價值明細表;

          5) 至少六個月的最低生活資金開銷的資金證明,加拿大邊境服務局可能會檢查。

          6) 辦理楓葉卡需要的照片(辦理楓葉卡時,加拿大移民局提供免費拍照的服務,但是建議最好每人準備2-3張照片作為備用哦!)

          小貼士:準備的東西越齊全,給移民局官員留下的印象就越好,流程就更加順暢。

          關于航班的建議:

          中國目前有15個城市可以直飛加拿大,包括:北京、上海、廣州、成都、沈陽、昆明、廈門、鄭州、南京、杭州、青島、重慶、天津、深圳。

          入境資金證明需要注意什么?

          入境時攜帶1萬加元或者以上的現金必須申報,但是并未限制你攜帶入境現金的金額。所攜帶的現金如果超過1萬加元,就需要如實向加拿大政府申報,這是反洗錢目的,而不是真正的“限制”。

          雖然資金沒有上限但是需要證明來源合法。這里還需要格外小心的是,當邊境工作人員詢問“是否攜帶相當于1萬加元或更多現金”,如果實際攜帶金額超過了1萬加元但是回答是no,這種情況就不是沒有申報,而是謊報。這會被認定為“欺詐”行為,是會被處罰的。

          入境后注意事項

          楓葉卡:即永久居民卡,登陸當天在機場辦理,免費,需要加拿大地址,6周左右寄到,今后返回加拿大需要該卡。

          SIN卡 Sociallnsurance number,社會保險卡又稱工卡。到就近的SIN卡辦理地址盡快辦理。4-6周寄到,免費。有此卡才可工作,申請牛奶金。

          醫保卡,又名健康卡,今后免費就醫就憑此卡。在溫哥華不用親臨辦理。可以填好申

          表,連同移民紙和護照首頁復印件一起寄出辦理。3-4個月可以辦好,期間若需要,可以購買臨時醫療保險。

          銀行借記卡及信用卡。各大銀行幾乎都有中文專員及服務。2-3周寄到,盡量多使用信用卡,既可以累計信用記錄,又可以享受刷卡免息期及回饋。記得及時還款(可以綁定信用卡和借記卡)。

          駕照:登陸后三個月內可以使用中國駕照。美國和國際駕照可在加拿大使用,但保險費較貴。可請原居住國汽車保險公司開出的無肇事記錄證明,辦理保險時會有優惠。滿2年的中國駕照可免除筆試后(即交規考試,可以選中文考)的八個月等待期,立即考G2.

          通訊:可根據話費預算簽訂手機計劃,手機基本白送,但白送的機型取決于話費量。固定電話連同寬帶和電視節目,可以根據自己的需求簽訂計劃,同一家公司辦理。

          子女入學:移民子女讀書需要登陸紙和加拿大住址,只能在登陸后才能具體辦理,這點不同于留學。在登陸期內,可以先了解相關學校及準備好報名材料。

          年度報稅(資產申報),每個納稅年度為12月31日,需要在4月底之前完成報稅。

          更多詳細信息您可以通過以下網站查詢:

          加拿大聯邦官網:

          https://www.canada.ca/en/immigration-refugees-citizenship/services/new-immigrants/prepare-life-canada/border-entry.html

          加拿大邊境服務局:

          https://www.cbsa-asfc.gc.ca/menu-eng.html


          主站蜘蛛池模板: 亚洲国产成人久久综合一区77| 波多野结衣一区二区三区高清av| 久久精品无码一区二区WWW| 久久精品人妻一区二区三区| 搜日本一区二区三区免费高清视频 | 日韩一区二区视频在线观看| 亚洲精品精华液一区二区| 综合无码一区二区三区四区五区 | 97av麻豆蜜桃一区二区| 99精品国产一区二区三区2021| 毛片一区二区三区| 一区二区国产在线观看| 无码人妻少妇色欲AV一区二区| 海角国精产品一区一区三区糖心 | 福利一区二区在线| 久久国产一区二区三区| 国产一区二区三区免费视频| 精品久久一区二区三区| 国产一区二区三区在线免费 | 亚洲国产成人久久一区二区三区| 精品不卡一区中文字幕| 天堂国产一区二区三区| 丰满岳妇乱一区二区三区| 国产精品视频一区麻豆| 综合久久一区二区三区 | 亚洲AV日韩综合一区尤物| 亚洲国产专区一区| 天堂va视频一区二区| 亚洲国产日韩一区高清在线| 青娱乐国产官网极品一区| 亚洲AV无码一区二区三区网址 | 韩国一区二区三区视频| 色一乱一伦一图一区二区精品| 国产一区精品视频| 国模大胆一区二区三区| 国产精品乱码一区二区三| 亚洲Av高清一区二区三区| 亚洲国产精品一区二区第一页| 丝袜人妻一区二区三区网站| 国产精品一区不卡| 精品天海翼一区二区|