在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 網頁設計教程 > 詳細頁面

CSS如何完成9宮格?CSS完成9宮格的4種方式介紹

CSS如何完成9宮格?CSS完成9宮格的4種方式介紹

更新時間:2025-11-17 文章作者:未知 信息來源:網絡 閱讀次數:

網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立...
網頁的本質就是超級文本標記語言,通過結合使用其他的Web技術(如:腳本語言、公共網關接口、組件等),可以創造出功能強大的網頁。因而,超級文本標記語言是萬維網(Web)編程的基礎,也就是說萬維網是建立在超文本基礎之上的。超級文本標記語言之所以稱為超文本標記語言,是因為文本中包含了所謂“超級鏈接”點。

本篇文章給大家帶來的內容是關于CSS如何實現九宮格?CSS實現九宮格的四種方式介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

實現效果

效果如下,就是一個九宮格,點擊九宮格中的任意一個小方塊,其邊框變成紅色。

index.png

實現方法

我自己一共總結了4種方法來實現這個效果,前三種方法是大同小異,只有第四種表格布局比較特殊。下面我直接給出每一種布局方式相關的樣式和DOM結構的源碼。

1. float布局

<style>
    .float{
      margin: 50px; //為了和頁面中的其他塊拉開距離
      height: 300px;
      width: 300px;
    }
    .float > li{
      box-sizing: border-box;
      float:left;
      width: 100px;
      height: 100px;
      margin-left: -4px;
      margin-top: -4px;
      line-height: 100px;
      text-align: center;
      list-style: none;
      border:4px solid #ccc;
    }
    .float > li:hover{
      border-color: red;
      position: relative;
    }
  </style>
  <ul class="float">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>5</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
  </ul>

float布局實現這個9宮格沒什么好講的,關鍵點在于對li子項設置margin-left:-4px;margin-top:-4px;這樣就可以使相鄰子塊間的邊框發生重疊,你可以不設置這個負的margin來看看效果,你會體會更深。整個CSS中我認為最精髓的地方在于hover的樣式,給li子項設置了position:relative;。這個地方的精髓在于,對元素設置了relative后,其將脫離文檔流,同時其層疊等級會比普通文檔流高,就會使其內容覆蓋在普通文檔流之上,那么它被覆蓋的border就會顯示出來,同時遮擋住相鄰元素的border。這個設置真的很精髓,后面兩種方法和該方法差不多,我就不做過多講解了。

2. flex布局

<style>
.flex{
      display: flex;
      width: 300px;
      /*height: 300px;*/
      margin: 50px;
      flex-wrap: wrap;
      /*align-content: flex-start;      */
      box-sizing: border-box;           
    }
    .flex > li{
      box-sizing: border-box;
      height: 100px;
      width: 100px;
      margin-left: -4px;
      margin-top: -4px;
      line-height: 100px;
      text-align: center;
      list-style: none;
      border: 4px solid #ccc;
    }

    .flex > li:hover{
      border-color:red;
      position: relative;
      /*z-index:2;*/
    }
</style>
 <ul class="flex">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>flex</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
  </ul>

使用flex布局時,有一點需要注意,那就是不要給父容器ul.flex設置高度,如果你設置了高度,那么在垂直方向上子項的margin負值設置將會失效,具體原因我也不知道。如果你設置了高度后,還希望垂直方向的margin值生效,那么你就給ul.flex添加一個algin-content:flex-start;屬性即可。這個具體為啥會這樣,我也不是很明白,希望有理解的兄弟在評論區指導一下。該flex布局中,也可以在hover時添加z-index:2;來提高疊加等級。

3. grid布局

<style>
.grid{
      margin: 50px;
      height: 300px;
      width: 300px;
      display: grid;
      grid-template-rows: 100px  100px 100px;
      grid-template-columns: 100px 100px 100px;
      box-sizing: border-box;
    }
    .grid > li{
      margin-top: -4px;
      margin-left: -4px;
      box-sizing: border-box;
      list-style: none;
      line-height: 100px;
      text-align: center;
      border: 4px solid #ccc;
    }
    .grid > li:hover{
      border-color: red;
      position: relative;
      /*z-index:2;*/
    }
</style>
<ul class="grid">
    <li>1</li>
    <li>2</li>
    <li>3</li>
    <li>4</li>
    <li>grid</li>
    <li>6</li>
    <li>7</li>
    <li>8</li>
    <li>9</li>
  </ul>

這里有一個地方需要注意,就是不要再給li子項設置寬度和高度。該grid布局中,也可以在hover時添加z-index:2;來提高疊加等級。

4. table布局

<style>
    .table{
      margin-top: 100px;
      width: 300px;
      height: 300px;
      text-align: center;
      border: 4px solid #ccc;
      border-collapse: collapse;
      box-sizing: border-box;
    }
    .table td{
      /*height: 100px;*/
      width: 100px;
      vertical-align: middle;
      border: 4px solid #ccc;
      text-align: center;
      box-sizing: border-box;
      line-height: 100px;
    }
    .table td:hover{
      border-color: red;      
      position: absolute;
      width: 94px;
      height: 100px;
      margin-top: -4px;
      margin-left: -4px;
      box-sizing: content-box;
    }
  </style>
  <table class="table">
    <tr>
      <td>1</td>
      <td>2</td>
      <td>3</td>
    </tr>
    <tr>
      <td>1</td>
      <td>table</td>
      <td>3</td>
    </tr>
    <tr>
      <td>1</td>
      <td>2</td>
      <td>3</td>
    </tr>
  </table>

使用table布局時,有以下幾點需要注意:

1、line-height的設置值需要與height的值保持一致。因為對于表格中的一行來說,它的高度取決于該行最大的單元格的高度或者行高,line-height與height不一致會導致該列中的邊框溢出單元格。

2、要想使某個單元格的邊框覆蓋其他單元格的邊框,必須給單元格設置position:absolute;而不是relative。

3、margin-left的設置值是border-width的1.5倍,這個是我在chrome下的測試結果,具體原因我也不清楚,希望有老鐵評論區解答一下。

以上就是CSS如何實現九宮格?CSS實現九宮格的四種方式介紹的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 一区二区三区免费播放| 久久视频这里有精品| 北条麻妃在线视频观看| 视频一区二区视频| 黄色免费网址大全| 国产成人久久婷婷精品流白浆| av亚洲天堂网| 国产精品又粗又长| 善良的小姨在线| 中文字幕在线观看第三页| 青草视频在线观看视频| 午夜啪啪小视频| 国模吧无码一区二区三区| 超碰10000| 三上悠亚免费在线观看| 中文字幕视频三区| 国产自偷自偷免费一区 | 欧美性猛交xxx乱久交| 欧美一级欧美一级| 国产日本欧美在线| 亚洲成人福利在线| 亚洲国产成人va在线观看麻豆| 免费观看日韩毛片| 人人妻人人添人人爽欧美一区| 久操手机在线视频| 992kp免费看片| 久久久福利影院| 欧美视频亚洲图片| 黄色一级片免费播放| 久久久久久综合网| 亚洲高清av一区二区三区| 天堂中文av在线| 性做爰过程免费播放| 特大黑人娇小亚洲女mp4| 日韩精品在线视频免费观看| 97超碰人人澡| 妺妺窝人体色www在线小说| 国产午夜伦鲁鲁| 色婷婷综合久久久久中文字幕 | 少妇性l交大片| 国产极品尤物在线| www.日本一区| 91视频最新入口| 少妇高潮流白浆| 亚洲一级片网站| 9色porny| 久久亚洲a v| 屁屁影院ccyy国产第一页| 国产夫妻自拍一区| 日韩精品在线观看av| 国产免费黄视频| 一级在线免费视频| 亚洲一区二区偷拍| r级无码视频在线观看| 国产淫片av片久久久久久| 天天操天天爱天天爽| 日本高清免费观看| 久久人人爽人人爽人人av| av视屏在线播放| 特级毛片在线免费观看| 国产九九九九九| 九一精品久久久| 超碰成人免费在线| www午夜视频| 波多野结衣家庭教师在线| 538任你躁在线精品免费| 2022中文字幕| 97超碰人人爽| 少妇无码av无码专区在线观看| 午夜免费福利在线| 妞干网在线视频观看| 国产乱码一区二区三区四区| 青青青国产在线观看| 91网址在线观看精品| 国产女女做受ⅹxx高潮| 日本大片免费看| 国产精品自在自线| 免费在线观看毛片网站| 国产欧美123| 樱花草www在线| 国产精品igao| 青青青国产在线观看| 成年在线观看视频| 色戒在线免费观看| 日韩在线一级片| 无码中文字幕色专区| 懂色av粉嫩av蜜臀av| 99热一区二区| 中文字幕成人在线视频| 国产熟女高潮视频| 日本一道本久久| 国产91沈先生在线播放| 影音先锋男人的网站| 日韩欧美理论片| 亚洲色图偷拍视频| 三级视频中文字幕| 日韩无套无码精品| 欧美 日韩精品| 日本成年人网址| 日韩伦理在线免费观看| 精品成在人线av无码免费看| 91动漫在线看| 成人av在线播放观看| 真人做人试看60分钟免费| 在线观看视频在线观看| 国产成人精品免费看在线播放| 一起操在线视频| 成人综合久久网| 爽爽爽在线观看| 中文字幕在线综合| 青青草原网站在线观看| 污片在线免费看| 久久国产激情视频| 欧美高清中文字幕| 日韩一级免费片| 中文字幕国产传媒| 女人另类性混交zo| av动漫免费观看| 亚洲综合欧美激情| 色国产在线视频| www.在线观看av| 欧美在线观看成人| 日韩中文字幕免费在线| 性猛交ⅹ×××乱大交| 999热精品视频| 日本免费不卡一区二区| 成人午夜视频免费在线观看| mm1313亚洲国产精品无码试看| av在线网址导航| 97av中文字幕| 亚洲五月天综合| 女人床在线观看| 欧美 日韩 国产 激情| 好色先生视频污| 亚洲欧美日韩一二三区| 17c国产在线| 自拍日韩亚洲一区在线| 4444亚洲人成无码网在线观看| 欧美成人黄色网址| 91传媒久久久| 日本福利视频一区| 日本一本在线视频| www.se五月| 日本人69视频| 91pony九色| 性刺激的欧美三级视频| 精品视频免费在线播放| www污在线观看| 熟女熟妇伦久久影院毛片一区二区| r级无码视频在线观看| www.69av| 亚洲熟妇国产熟妇肥婆| 亚洲精品无码久久久久久| 久激情内射婷内射蜜桃| 日韩中字在线观看| 丁香婷婷激情网| 亚洲视频第二页| 手机在线视频你懂的| 美女在线免费视频| 少妇久久久久久被弄到高潮| 大地资源网在线观看免费官网| 波多野结衣三级在线| 亚洲综合在线一区二区| 国产免费黄色小视频| 久久综合久久色| 樱花草www在线| 国风产精品一区二区| 玩弄japan白嫩少妇hd| 超碰成人在线免费观看| 狠狠97人人婷婷五月| 中文字幕第一页亚洲| 福利视频一二区| 日本美女久久久| 能在线观看的av网站| 波多野结衣与黑人| 久久国产色av免费观看| 成人免费观看在线| 国产爆乳无码一区二区麻豆| 亚洲成人福利在线观看| 黄色三级中文字幕| 久久99爱视频| 日韩在线第三页| 毛片av免费在线观看| 男人日女人bb视频| 九九爱精品视频| 日韩网站在线免费观看| 91丝袜超薄交口足| 精品中文字幕av| 日韩在线视频在线| 青青草原国产免费| 日本熟妇人妻xxxxx| 久久网站免费视频| 很污的网站在线观看| 精品少妇在线视频| www黄色av| 五月天激情播播| 亚洲国产午夜精品| 日韩精品aaa| 国产成人生活片| 1024精品视频|