最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CSS 模擬float實現(xiàn)center文字左右環(huán)繞圖片的效果

  發(fā)布時間:2019-05-05 15:17:12   作者:果凍   我要評論
這篇文章主要介紹了CSS 模擬float實現(xiàn)center文字左右環(huán)繞圖片的效果的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

什么是文字左右環(huán)繞圖片?就是下圖的效果:

效果的CSS代碼可以點擊這里 查看

在CSS中,并沒有float: center這種設(shè)置,但是我們可以通過一些小技巧來模擬出類似的效果。

經(jīng)常會有小伙伴問:有float: left和right,為什么沒有float: center?我的答案是:

1.text-align: center已經(jīng)可以實現(xiàn)內(nèi)聯(lián)元素的居中效果

2.在一行中使文字環(huán)繞顯示在圖片的兩側(cè),這種效果瀏覽器處理起來是非常困難的。除非將文字顯示為兩列,但這是另一個問題

3.當(dāng)涉及到文本時,float實際上應(yīng)該被稱為環(huán)繞,float:left的意思是“將這個元素放置在容器的左側(cè),并將其右側(cè)的所有內(nèi)容都環(huán)繞其顯示”,在這種情況下,我們討論的float:center實際上是兩側(cè)環(huán)繞,這會帶來一系列的問題,比如如何確定元素在容器中的“深度”?

為了模擬實現(xiàn)float: center的效果,我們通過創(chuàng)建兩個div將文字劃分為兩列,其中居中的圖片寫在第一個div中:

<div id="container">
  <div id="leftcol">
    <p><img src=".../01.jpg">京都位于本州島的中心附近,在王位移到江戶...
  </div>
  <div id="rightcol">
    <p>因此,京都許多保存下來的地方都是聯(lián)合國教科文組織世界遺產(chǎn),包括...
  </div>
</div>

首先,我們設(shè)置兩個div即.leftcol和.rightcol元素為display: table-cell,同時將容器.container元素設(shè)置為display: table:

div#container { 
  display: table; 
  width: 80%;
  max-width: 900px;  /* 容器最大寬度900px */
  margin: 0 auto;
  line-height: 1.5;
}
div#leftcol, div#rightcol { 
  display: table-cell; 
  padding: 1em;
}
div#container img {
  width: 55%;  /* 圖片的寬度是第一列div寬度的55% */
  height: auto;
}

這樣,文字就顯示成為表格的兩列了:

圖片會按照其該有的樣式顯示在第一列的頂部左側(cè),并且底部與文字的第一行的基線對齊。

接下來,如果給圖片設(shè)置一個float:right,它就會在第一個div中右側(cè)浮動,并且文字會環(huán)繞在圖片的左側(cè)顯示:

到這里,我們實現(xiàn)了一個最傳統(tǒng)的布局:兩列文字,其中一列包含一張浮動的圖片。

下面,就要使用一些技巧來實現(xiàn)左右環(huán)繞的文字效果了。

第一步,通過設(shè)置margin-right屬性負值,將圖片右移一定的距離:

div#container img {
  float: right;
  width: 55%;
  height: auto;
  margin-right: -20%;  /* 圖片向右移動第一個div寬度20%的距離 */
  margin-left: 20px;
  margin-bottom: 20px;
}

margin-left和margin-bottom屬性設(shè)置圖片與左側(cè)和下方的文字都間距20px。

這個時候圖片會和第二列的文字顯示重合了:

第二步,通過:before偽元素在第二個div中生成一個元素,它不包含任何內(nèi)容,僅僅是為了浮動后讓文字環(huán)繞它。

div#rightcol:before { 
  content: " "; 
  float: left; 
  width: 25%;
  padding-top: 102%;
}

這個偽元素被設(shè)置為左浮動,并且它的寬度與圖片右移的距離加起來剛好是圖片的寬度。

padding-top屬性設(shè)置的稍微大一點,這樣文字與圖片能夠空出一些距離。

如果給這個沒有任何內(nèi)容的偽元素添加一個紅色的邊框,我們就可以看到它的位置:

這個空偽元素的實際作用就是將與圖片重合的文字隔開,并使它們環(huán)繞,這樣就模擬出了右側(cè)文字環(huán)繞圖片的效果,而實際上文字環(huán)繞的是偽元素。

這種環(huán)繞方式有一個限制,就是圖片必須位于div的頂部,我們不能在垂直方向上任意放置圖片。

最后,再設(shè)置一些美化的樣式和自適應(yīng)的代碼,最終的效果就實現(xiàn)了:

 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

瑞安市| 舞阳县| 开平市| 临高县| 布尔津县| 怀化市| 宜州市| 克拉玛依市| 玉环县| 诸城市| 驻马店市| 西畴县| 仲巴县| 大方县| 崇文区| 德安县| 河南省| 邛崃市| 温宿县| 苍溪县| 扎囊县| 克拉玛依市| 张家港市| 浠水县| 溧阳市| 都安| 平定县| 博湖县| 时尚| 小金县| 镇赉县| 读书| 鹤壁市| 长治市| 梧州市| 唐海县| 钦州市| 曲周县| 湖北省| 巴里| 中山市|