国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
> CSS網(wǎng)格本質(zhì)上反應(yīng)靈敏,可以使用最小的媒體查詢對不同屏幕尺寸的內(nèi)容進(jìn)行輕鬆重組。
計(jì)劃網(wǎng)格
>頁腳
>讓我們從大屏幕開始(在本文中,我將堅(jiān)持與Bootstrap 4中定義的相同的斷點(diǎn))。我想降低主容器的水平邊緣和單個(gè)贊助商之間的差距:
>在中屏幕上,我希望主內(nèi)容區(qū)域和側(cè)邊欄佔(zhàn)據(jù)所有三列:
後備
結(jié)論
>如何開始在項(xiàng)目中使用CSS網(wǎng)格改造?
是的,可以將CSS網(wǎng)格改造與其他佈局方法(如Flexbox)結(jié)合使用,例如Flexbox,以進(jìn)行更複雜的設(shè)計(jì)。當(dāng)您要?jiǎng)?chuàng)建一個(gè)部分靈活且部分固定的佈局時(shí),這可能特別有用。改造包括使用命名網(wǎng)格區(qū)域,以更容易佈局管理,使用FR單元進(jìn)行靈活的網(wǎng)格軌道以及在瀏覽器的開發(fā)人員工具中使用網(wǎng)格檢查器可視化和調(diào)試網(wǎng)格佈局。
是的,是的,CSS Grid Raturofit是一個(gè)二維繫統(tǒng),是二維繫統(tǒng),這意味著它可以處理列和行。這使其成為創(chuàng)建水平和垂直佈局的多功能工具。
首頁 web前端 css教學(xué) 重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

Feb 15, 2025 am 08:45 AM

重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

在本文中,我們將通過創(chuàng)建響應(yīng)迅速的多列網(wǎng)站佈局來查看CSS電網(wǎng)。 如今,CSS網(wǎng)格是網(wǎng)絡(luò)開發(fā)的新趨勢。忘了桌子佈局和浮點(diǎn):設(shè)計(jì)網(wǎng)站的新方法已經(jīng)在這裡!這項(xiàng)技術(shù)引入了二維網(wǎng)格,該網(wǎng)格定義了使用少數(shù)CSS規(guī)則的佈局多個(gè)區(qū)域。

>網(wǎng)格可以製造第三方框架,例如960GS或Bootstrap Grid冗餘,因?yàn)槟梢暂p鬆地自己完成所有操作!儘管Internet Explorer實(shí)現(xiàn)了規(guī)格的較舊版本,但此功能都得到了所有主要瀏覽器的支持。

>

如果您是網(wǎng)格佈局的新手,請查看我們的初學(xué)者指南CSS網(wǎng)格指南。

鑰匙要點(diǎn)

> css網(wǎng)格佈局簡化了多列佈局的創(chuàng)建,消除了對諸如浮子和顯示桌子之類的舊技術(shù)的需求。 > 與傳統(tǒng)的CSS框架(如Bootstrap)相比

CSS網(wǎng)格的實(shí)現(xiàn)涉及定義一個(gè)具有顯示的容器:網(wǎng)格,設(shè)置列和行,並使用簡單的CSS規(guī)則將元素放入指定的網(wǎng)格區(qū)域。

> CSS網(wǎng)格本質(zhì)上反應(yīng)靈敏,可以使用最小的媒體查詢對不同屏幕尺寸的內(nèi)容進(jìn)行輕鬆重組。

對於不完全支持CSS網(wǎng)格的瀏覽器,例如Internet Explorer,使用內(nèi)聯(lián)塊和媒體查詢的後備樣式可確保佈局仍然有效地呈現(xiàn)。
    > CSS網(wǎng)格和Flexbox可以合併以滿足複雜的設(shè)計(jì)要求,展示CSS電網(wǎng)在現(xiàn)代網(wǎng)絡(luò)設(shè)計(jì)中的兼容性和多功能性。
  • 我們要構(gòu)建的
  • 因此,我們被要求創(chuàng)建一個(gè)典型的網(wǎng)站佈局,其中包含標(biāo)頭,主內(nèi)容區(qū)域,右側(cè)側(cè)邊欄,贊助商列表和頁腳:>
  • >另一個(gè)開發(fā)人員已經(jīng)嘗試解決此任務(wù),並提出了一個(gè)涉及浮點(diǎn),顯示的解決方案:表格和一些Clearfix Hacks。我們將這種現(xiàn)有佈局稱為“初始”:>
  • 請參閱Pen SP:codepen上的sitepoint(@sitepoint)的浮子的多柱佈局。
  • 直到最近,浮子被認(rèn)為是創(chuàng)建這種佈局的最佳選擇。在此之前,我們必須使用HTML表,但是它們有許多缺點(diǎn)。具體而言,此類佈局非常僵化,需要大量標(biāo)籤(表,TR,TD,TH等),而這些標(biāo)籤則使用這些標(biāo)籤來顯示表數(shù)據(jù),而不是設(shè)計(jì)佈局。

    ,但是CSS繼續(xù)發(fā)展,現(xiàn)在我們有了CSS網(wǎng)格。從概念上講,它類似於舊的表佈局,但可以使用具有更靈活的佈局的語義HTML元素。

    計(jì)劃網(wǎng)格

    首先:我們需要為文檔定義基本的HTML結(jié)構(gòu)。在此之前,讓我們簡要討論最初的示例如何工作。它具有以下主要塊:

    • 。
    • .Main-Header是包含.logo(佔(zhàn)據(jù)20%的空間,漂浮在左側(cè)的20%)和.main-menu(佔(zhàn)據(jù)79%的空間,漂浮在右側(cè)的79%)的標(biāo)題。標(biāo)題還分配了一個(gè)駭客修復(fù)程序以清除浮子。
    • .content-area-wrapper包裝主.CONTENT-AREA(佔(zhàn)據(jù)了66.6%的空間,負(fù)1REM保留了邊緣,左側(cè)漂浮在左側(cè))和.sidebar(佔(zhàn)據(jù)了33.3%的空間,漂浮在右邊的33.3% )。包裝器本身也用clearfix分配了。
    • .sponsors-wrapper包含贊助商的徽標(biāo)。在內(nèi)部,有一個(gè).spors部分,其中包含顯示屬性為表。每個(gè)贊助商依次顯示為表單元格。
    • .footer是我們的頁腳,並且跨越了100%的空間。
    • 我們的新佈局將與最初的佈局非常相似,但是除了一個(gè)例外:我們不會(huì)添加.main-header和.content-area-area-wrapper包裝器,因?yàn)椴辉傩枰猚learfix。這是html的新版本:

    請注意,您可以將身體用作全局.Container;在這種情況下,這只是偏愛的問題。總而言之,我們有六個(gè)主要領(lǐng)域:
    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  <span><span><span><header</span> class<span>="logo"</span>></span>
    </span>    <span><span><span><h1</span>></span><span><span><a</span> href<span>="#"</span>></span>DemoSite<span><span></a</span>></span><span><span></h1</span>></span>
    </span>  <span><span><span></header</span>></span>
    </span>
      <span><span><span><nav</span> class<span>="main-menu"</span>></span>
    </span>    <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Our clients<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Products<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Contact<span><span></a</span>></span><span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></nav</span>></span>
    </span>
      <span><span><span><main</span> class<span>="content-area"</span>></span>
    </span>    <span><span><span><h2</span>></span>Welcome!<span><span></h2</span>></span>
    </span>
        <span><span><span><p</span>></span>
    </span>      Content
        <span><span><span></p</span>></span>
    </span>  <span><span><span></main</span>></span>
    </span>
      <span><span><span><aside</span> class<span>="sidebar"</span>></span>
    </span>    <span><span><span><h3</span>></span>Additional stuff<span><span></h3</span>></span>
    </span>
        <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span>></span>Items<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Are<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Listed<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Here<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Wow!<span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></aside</span>></span>
    </span>
      <span><span><span><section</span> class<span>="sponsors-wrapper"</span>></span>
    </span>    <span><span><span><h2</span>></span>Our sponsors<span><span></h2</span>></span>
    </span>
        <span><span><span><section</span> class<span>="sponsors"</span>></span>
    </span>      <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/150x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x100"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>    <span><span><span></section</span>></span>
    </span>
      <span><span><span></section</span>></span>
    </span>
      <span><span><span><footer</span> class<span>="footer"</span>></span>
    </span>    <span><span><span><p</span>></span>
    </span>      <span title="?">&copy; 2018 DemoSite. White&amp;Sons LLC. All rights (perhaps) reserved.
    </span>    <span><span><span></p</span>></span>
    </span>  <span><span><span></footer</span>></span>
    </span><span><span><span></div</span>></span>
    </span>

    徽標(biāo)
    1. 菜單
    2. 主要內(nèi)容
    3. sidebar
    4. 贊助商
    5. >頁腳
    6. 通常建議您實(shí)施一種移動(dòng)優(yōu)先的方法。也就是說,您是從移動(dòng)佈局開始的,然後為大屏幕添加樣式。在這種情況下,這不是必需的,因?yàn)槲覀冋谡{(diào)整初始佈局,該佈局已經(jīng)回到了小屏幕設(shè)備上的線性視圖。因此,讓我們首先關(guān)注電網(wǎng)的實(shí)現(xiàn),然後再討論響應(yīng)能力和後備規(guī)則。因此,返回我們的計(jì)劃,看看如何安排網(wǎng)格列:>

    >所以,我建議擁有三列(以紅色突出顯示)和四行(以藍(lán)色突出顯示)。某些區(qū)域(例如徽標(biāo))將僅佔(zhàn)據(jù)一列,而其他區(qū)域(如主內(nèi)容)將跨越多列。稍後,我們可以輕鬆修改佈局,移動(dòng)周圍的區(qū)域或添加新的區(qū)域。 重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局>

    遵循該方案,給每個(gè)區(qū)域一個(gè)唯一的名稱。這些將用於以下定義的佈局:

    >

    >現(xiàn)在將顯示屬性設(shè)置為網(wǎng)格,定義三列,並在主容器的左側(cè)和右側(cè)添加少量邊距:

    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  <span><span><span><header</span> class<span>="logo"</span>></span>
    </span>    <span><span><span><h1</span>></span><span><span><a</span> href<span>="#"</span>></span>DemoSite<span><span></a</span>></span><span><span></h1</span>></span>
    </span>  <span><span><span></header</span>></span>
    </span>
      <span><span><span><nav</span> class<span>="main-menu"</span>></span>
    </span>    <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Our clients<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Products<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Contact<span><span></a</span>></span><span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></nav</span>></span>
    </span>
      <span><span><span><main</span> class<span>="content-area"</span>></span>
    </span>    <span><span><span><h2</span>></span>Welcome!<span><span></h2</span>></span>
    </span>
        <span><span><span><p</span>></span>
    </span>      Content
        <span><span><span></p</span>></span>
    </span>  <span><span><span></main</span>></span>
    </span>
      <span><span><span><aside</span> class<span>="sidebar"</span>></span>
    </span>    <span><span><span><h3</span>></span>Additional stuff<span><span></h3</span>></span>
    </span>
        <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span>></span>Items<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Are<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Listed<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Here<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Wow!<span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></aside</span>></span>
    </span>
      <span><span><span><section</span> class<span>="sponsors-wrapper"</span>></span>
    </span>    <span><span><span><h2</span>></span>Our sponsors<span><span></h2</span>></span>
    </span>
        <span><span><span><section</span> class<span>="sponsors"</span>></span>
    </span>      <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/150x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x100"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>    <span><span><span></section</span>></span>
    </span>
      <span><span><span></section</span>></span>
    </span>
      <span><span><span><footer</span> class<span>="footer"</span>></span>
    </span>    <span><span><span><p</span>></span>
    </span>      <span title="?">&copy; 2018 DemoSite. White&amp;Sons LLC. All rights (perhaps) reserved.
    </span>    <span><span><span></p</span>></span>
    </span>  <span><span><span></footer</span>></span>
    </span><span><span><span></div</span>></span>
    </span>

    顯示:網(wǎng)格定義一個(gè)網(wǎng)格容器,並為其孩子設(shè)置特殊的格式上下文。 FR是一個(gè)特殊的單元,意思是“網(wǎng)格容器的自由空間的一部分”。 2 6 4給我們12,而6/12 = 0.5。這意味著中間的列將佔(zhàn)據(jù)自由空間的50%。

    >

    >我也想在行之間添加一些間距:>

    <span><span>.logo</span> {
    </span>  <span>grid-area: logo;
    </span><span>}
    </span>
    <span><span>.main-menu</span> {
    </span>  <span>grid-area: menu;
    </span><span>}
    </span>
    <span><span>.content-area</span> {
    </span>  <span>grid-area: content;
    </span><span>}
    </span>
    <span><span>.sidebar</span> {
    </span>  <span>grid-area: sidebar;
    </span><span>}
    </span>
    <span><span>.sponsors-wrapper</span> {
    </span>  <span>grid-area: sponsors;
    </span><span>}
    </span>
    <span><span>.footer</span> {
    </span>  <span>grid-area: footer;
    </span><span>}
    </span>
    完成此操作,我們可以與各個(gè)領(lǐng)域合作。但是,在結(jié)束本節(jié)之前,讓我們快速添加一些常見的樣式:

    <span><span>.container</span> {
    </span>  <span>display: grid;
    </span>  <span>margin: 0 2rem;
    </span>  <span>grid-template-columns: 2fr 6fr 4fr;
    </span><span>}
    </span>
    好!現(xiàn)在,我們可以前往第一個(gè)目標(biāo),這將是標(biāo)題。 >

    設(shè)計(jì)標(biāo)題

    >我們的標(biāo)頭佔(zhàn)據(jù)了第一行,該排應(yīng)該將特定的高度設(shè)置為3REM。在初始佈局中,通過為標(biāo)頭包裝器分配高度屬性來解決:>

    >還請注意,徽標(biāo)和菜單垂直與中間對齊,這是使用線路高技巧實(shí)現(xiàn)的:

    <span><span>.container</span> {
    </span>  // ...
      <span>grid-gap: 2rem 1rem;
    </span><span>}
    </span>

    使用CSS網(wǎng)格,事情將變得更簡單:我們不需要任何CSS hacks。

    <span>* {
    </span>  <span>box-sizing: border-box;
    </span><span>}
    </span>
    <span>html {
    </span>  <span>font-size: 16px;
    </span>  <span>font-family: Georgia, serif;
    </span><span>}
    </span>
    <span>body {
    </span>  <span>background-color: #fbfbfb;
    </span><span>}
    </span>
    <span>h1<span>, h2, h3</span> {
    </span>  <span>margin-top: 0;
    </span><span>}
    </span>
    <span>header h1 {
    </span>  <span>margin: 0;
    </span><span>}
    </span>
    <span>main p {
    </span>  <span>margin-bottom: 0;
    </span><span>}
    </span>
    從定義第一行開始:

    我們的徽標(biāo)應(yīng)僅佔(zhàn)據(jù)一列,而菜單應(yīng)跨越兩個(gè)列。我們可以藉助網(wǎng)格 - 板序列屬性來表達(dá)我們的意圖,該屬性引用了上面分配的網(wǎng)格區(qū)域名稱:>

    <span><span>.main-header</span> {
    </span>  <span>height: 3rem;
    </span><span>}
    </span>
    這是怎麼回事?好吧,通過說徽標(biāo)僅一次,我們確保它僅佔(zhàn)用一個(gè)徽標(biāo) - 最左側(cè)的專欄。菜單菜單意味著菜單佔(zhàn)有兩列:中間和最正確的一列??纯催@個(gè)規(guī)則有多簡單!

    >

    現(xiàn)在,在y軸上對齊徽標(biāo):
    <span><span>.logo</span> {
    </span>  // ...
      <span>height: 100%;
    </span>  <span>line-height: 3rem;
    </span><span>}
    </span>

    菜單應(yīng)垂直居中並向右拉動(dòng):>

    >我們的菜單是使用UL和LI標(biāo)籤構(gòu)建的,因此,我們還通過刪除標(biāo)記,無效的邊距/撥片並將菜單設(shè)置為Flex容器來對它們進(jìn)行一些樣式。
    <span><span>.container</span> {
    </span>  // ...
      <span>grid-template-rows: 3rem;
    </span><span>}
    </span>

    >就是這樣。為了觀察結(jié)果,我將使用啟用方便的CSS網(wǎng)格熒光筆工具使用Firefox。 (對於其他瀏覽器也有類似的工具:例如,Chrome的Gridman。)要訪問此工具,請按F12並選擇.Container元素,該元素應(yīng)該具有網(wǎng)格標(biāo)籤:

    >
    <span><span>.container</span> {
    </span>  // ...
      <span>grid-template-areas:
    </span>    <span>"logo menu menu";
    </span><span>}
    </span>

    <span><span>.logo</span> {
    </span>  <span>grid-area: logo;
    </span>  <span>align-self: center;
    </span><span>}
    </span>
    之後,繼續(xù)進(jìn)行CSS規(guī)則選項(xiàng)卡,並找到顯示:網(wǎng)格屬性。通過按在網(wǎng)格值旁邊的小圖標(biāo)上,您可以啟用或禁用熒光筆:

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

    這是結(jié)果:

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

    熒光筆顯示您的所有行和列以及它們與區(qū)域名稱之間的邊距。您可以自定義佈局部分中的輸出,該輸出還列出了頁面上的所有網(wǎng)格:>

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

    >所以,我們已經(jīng)處理了標(biāo)題,所以讓我們繼續(xù)前往主要內(nèi)容區(qū)域和側(cè)邊欄。

    主內(nèi)容和側(cè)邊欄

    >我們的主要內(nèi)容區(qū)域應(yīng)跨兩列,而側(cè)邊欄應(yīng)僅佔(zhàn)據(jù)一列。至於行,我希望它的高度自動(dòng)設(shè)置。我們可以相應(yīng)地更新.CONTAINER網(wǎng)格:

    >

    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  <span><span><span><header</span> class<span>="logo"</span>></span>
    </span>    <span><span><span><h1</span>></span><span><span><a</span> href<span>="#"</span>></span>DemoSite<span><span></a</span>></span><span><span></h1</span>></span>
    </span>  <span><span><span></header</span>></span>
    </span>
      <span><span><span><nav</span> class<span>="main-menu"</span>></span>
    </span>    <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Our clients<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Products<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Contact<span><span></a</span>></span><span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></nav</span>></span>
    </span>
      <span><span><span><main</span> class<span>="content-area"</span>></span>
    </span>    <span><span><span><h2</span>></span>Welcome!<span><span></h2</span>></span>
    </span>
        <span><span><span><p</span>></span>
    </span>      Content
        <span><span><span></p</span>></span>
    </span>  <span><span><span></main</span>></span>
    </span>
      <span><span><span><aside</span> class<span>="sidebar"</span>></span>
    </span>    <span><span><span><h3</span>></span>Additional stuff<span><span></h3</span>></span>
    </span>
        <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span>></span>Items<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Are<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Listed<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Here<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Wow!<span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></aside</span>></span>
    </span>
      <span><span><span><section</span> class<span>="sponsors-wrapper"</span>></span>
    </span>    <span><span><span><h2</span>></span>Our sponsors<span><span></h2</span>></span>
    </span>
        <span><span><span><section</span> class<span>="sponsors"</span>></span>
    </span>      <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/150x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x100"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>    <span><span><span></section</span>></span>
    </span>
      <span><span><span></section</span>></span>
    </span>
      <span><span><span><footer</span> class<span>="footer"</span>></span>
    </span>    <span><span><span><p</span>></span>
    </span>      <span title="?">&copy; 2018 DemoSite. White&amp;Sons LLC. All rights (perhaps) reserved.
    </span>    <span><span><span></p</span>></span>
    </span>  <span><span><span></footer</span>></span>
    </span><span><span><span></div</span>></span>
    </span>
    >我想為側(cè)邊欄添加一些填充物,以提供更多的視覺空間:>

    這是結(jié)果,如Firefox的網(wǎng)格工具中所述:
    <span><span>.logo</span> {
    </span>  <span>grid-area: logo;
    </span><span>}
    </span>
    <span><span>.main-menu</span> {
    </span>  <span>grid-area: menu;
    </span><span>}
    </span>
    <span><span>.content-area</span> {
    </span>  <span>grid-area: content;
    </span><span>}
    </span>
    <span><span>.sidebar</span> {
    </span>  <span>grid-area: sidebar;
    </span><span>}
    </span>
    <span><span>.sponsors-wrapper</span> {
    </span>  <span>grid-area: sponsors;
    </span><span>}
    </span>
    <span><span>.footer</span> {
    </span>  <span>grid-area: footer;
    </span><span>}
    </span>

    贊助商重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

    贊助商部分應(yīng)包含五個(gè)具有相等寬度和高度的項(xiàng)目。每個(gè)項(xiàng)目依次都會(huì)有一個(gè)圖像。

    在初始佈局中,此塊的樣式是顯示:表格,但我們不會(huì)依靠它。實(shí)際上,贊助商部分也可能是應(yīng)用CSS網(wǎng)格的絕佳候選人!

    首先,調(diào)整網(wǎng)格 - 板截面以包括贊助商區(qū)域:

    現(xiàn)在,將.sponsors部分也變成一個(gè)網(wǎng)格:

    只要我們需要五個(gè)具有相等寬度的項(xiàng)目,重複()函數(shù)就可以用於定義列:>
    <span><span>.container</span> {
    </span>  <span>display: grid;
    </span>  <span>margin: 0 2rem;
    </span>  <span>grid-template-columns: 2fr 6fr 4fr;
    </span><span>}
    </span>
    對於行,應(yīng)自動(dòng)設(shè)置其高度。列之間的差距應(yīng)等於1REM:

    <span><span>.container</span> {
    </span>  // ...
      <span>grid-gap: 2rem 1rem;
    </span><span>}
    </span>
    樣式每個(gè)項(xiàng)目:

    <span>* {
    </span>  <span>box-sizing: border-box;
    </span><span>}
    </span>
    <span>html {
    </span>  <span>font-size: 16px;
    </span>  <span>font-family: Georgia, serif;
    </span><span>}
    </span>
    <span>body {
    </span>  <span>background-color: #fbfbfb;
    </span><span>}
    </span>
    <span>h1<span>, h2, h3</span> {
    </span>  <span>margin-top: 0;
    </span><span>}
    </span>
    <span>header h1 {
    </span>  <span>margin: 0;
    </span><span>}
    </span>
    <span>main p {
    </span>  <span>margin-bottom: 0;
    </span><span>}
    </span>
    這是中間結(jié)果:

    <span><span>.main-header</span> {
    </span>  <span>height: 3rem;
    </span><span>}
    </span>

    >此示例說明您可以嵌套網(wǎng)格而沒有任何問題。另一個(gè)解決方案可能是使用Flexbox,但是在這種情況下,如果沒有足夠的寬度,則贊助商可能會(huì)包裝。
    <span><span>.logo</span> {
    </span>  // ...
      <span>height: 100%;
    </span>  <span>line-height: 3rem;
    </span><span>}
    </span>
    >

    >現(xiàn)在,我想將圖像垂直和水平居中。我們可能會(huì)嘗試執(zhí)行以下操作:

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局位置對X和Y軸上的元素對齊。這是對自己的速記屬性和自我合理的。

    >

    圖像確實(shí)會(huì)對齊,但不幸的是,白色背景消失了。這是因?yàn)槊總€(gè)贊助器現(xiàn)在的寬度和高度等於圖像的尺寸:>

    <span><span>.container</span> {
    </span>  // ...
      <span>grid-template-rows: 3rem;
    </span><span>}
    </span>
    這意味著我們在這裡需要另一種方法,並且可能的解決方案之一是採用flexbox:>

    現(xiàn)在,一切都正確顯示了,現(xiàn)在我們知道網(wǎng)格與flexbox效果很好:

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

    >頁腳

    我們的最後一部分是頁腳,實(shí)際上是最簡單的部分。我們要做的就是將其跨到所有三列:>

    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  <span><span><span><header</span> class<span>="logo"</span>></span>
    </span>    <span><span><span><h1</span>></span><span><span><a</span> href<span>="#"</span>></span>DemoSite<span><span></a</span>></span><span><span></h1</span>></span>
    </span>  <span><span><span></header</span>></span>
    </span>
      <span><span><span><nav</span> class<span>="main-menu"</span>></span>
    </span>    <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Our clients<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Products<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Contact<span><span></a</span>></span><span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></nav</span>></span>
    </span>
      <span><span><span><main</span> class<span>="content-area"</span>></span>
    </span>    <span><span><span><h2</span>></span>Welcome!<span><span></h2</span>></span>
    </span>
        <span><span><span><p</span>></span>
    </span>      Content
        <span><span><span></p</span>></span>
    </span>  <span><span><span></main</span>></span>
    </span>
      <span><span><span><aside</span> class<span>="sidebar"</span>></span>
    </span>    <span><span><span><h3</span>></span>Additional stuff<span><span></h3</span>></span>
    </span>
        <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span>></span>Items<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Are<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Listed<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Here<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Wow!<span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></aside</span>></span>
    </span>
      <span><span><span><section</span> class<span>="sponsors-wrapper"</span>></span>
    </span>    <span><span><span><h2</span>></span>Our sponsors<span><span></h2</span>></span>
    </span>
        <span><span><span><section</span> class<span>="sponsors"</span>></span>
    </span>      <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/150x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x100"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>    <span><span><span></section</span>></span>
    </span>
      <span><span><span></section</span>></span>
    </span>
      <span><span><span><footer</span> class<span>="footer"</span>></span>
    </span>    <span><span><span><p</span>></span>
    </span>      <span title="?">&copy; 2018 DemoSite. White&amp;Sons LLC. All rights (perhaps) reserved.
    </span>    <span><span><span></p</span>></span>
    </span>  <span><span><span></footer</span>></span>
    </span><span><span><span></div</span>></span>
    </span>
    基本上,佈局已經(jīng)完成!但是,我們還沒有完成:該網(wǎng)站也必須響應(yīng)迅速。因此,讓我們在下一節(jié)中照顧這項(xiàng)任務(wù)。

    >

    使佈局響應(yīng)

    有CSS網(wǎng)格,實(shí)際上很容易引入響應(yīng)能力,因?yàn)槲覀兛梢钥焖僦匦露ㄎ贿@些區(qū)域。

    大屏幕

    >讓我們從大屏幕開始(在本文中,我將堅(jiān)持與Bootstrap 4中定義的相同的斷點(diǎn))。我想降低主容器的水平邊緣和單個(gè)贊助商之間的差距:

    中等屏幕
    <span><span>.logo</span> {
    </span>  <span>grid-area: logo;
    </span><span>}
    </span>
    <span><span>.main-menu</span> {
    </span>  <span>grid-area: menu;
    </span><span>}
    </span>
    <span><span>.content-area</span> {
    </span>  <span>grid-area: content;
    </span><span>}
    </span>
    <span><span>.sidebar</span> {
    </span>  <span>grid-area: sidebar;
    </span><span>}
    </span>
    <span><span>.sponsors-wrapper</span> {
    </span>  <span>grid-area: sponsors;
    </span><span>}
    </span>
    <span><span>.footer</span> {
    </span>  <span>grid-area: footer;
    </span><span>}
    </span>

    >在中屏幕上,我希望主內(nèi)容區(qū)域和側(cè)邊欄佔(zhàn)據(jù)所有三列:

    >還要降低字體尺寸並堆放贊助商,以便它們在另一個(gè)下方顯示。列之間的差距應(yīng)為零(因?yàn)閷?shí)際上只有一個(gè)列)。相反,我將在行之間設(shè)置差距:
    <span><span>.container</span> {
    </span>  <span>display: grid;
    </span>  <span>margin: 0 2rem;
    </span>  <span>grid-template-columns: 2fr 6fr 4fr;
    </span><span>}
    </span>

    這是現(xiàn)在中屏幕上的佈局外觀:
    <span><span>.container</span> {
    </span>  // ...
      <span>grid-gap: 2rem 1rem;
    </span><span>}
    </span>

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局小屏幕

    >在小屏幕上,我們將在單獨(dú)的一行上顯示每個(gè)區(qū)域,這意味著現(xiàn)在只有一個(gè)列:>

    在這種情況下,不應(yīng)將菜單拉到右側(cè),我們也不需要列之間的差距:

    <span>* {
    </span>  <span>box-sizing: border-box;
    </span><span>}
    </span>
    <span>html {
    </span>  <span>font-size: 16px;
    </span>  <span>font-family: Georgia, serif;
    </span><span>}
    </span>
    <span>body {
    </span>  <span>background-color: #fbfbfb;
    </span><span>}
    </span>
    <span>h1<span>, h2, h3</span> {
    </span>  <span>margin-top: 0;
    </span><span>}
    </span>
    <span>header h1 {
    </span>  <span>margin: 0;
    </span><span>}
    </span>
    <span>main p {
    </span>  <span>margin-bottom: 0;
    </span><span>}
    </span>
    工作完成:

    <span><span>.main-header</span> {
    </span>  <span>height: 3rem;
    </span><span>}
    </span>

    請注意,您甚至可以在各種屏幕上輕鬆地重新排列網(wǎng)格項(xiàng)目。假設(shè)我們想將菜單放在小屏幕上的菜單(以便訪問者在頁面上完成閱讀材料後不必滾動(dòng))。為此,只需調(diào)整網(wǎng)格 - 板序列:

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

    在沒有媒體查詢的情況下做

    >值得一提的是,我們可以使贊助商完全不受任何媒體疑問而阻止響應(yīng)。在自動(dòng)擬合屬性和MinMax功能的幫助下,這是可能的。要查看它們的行動(dòng),請調(diào)整這樣的讚助商的樣式:
    <span><span>.logo</span> {
    </span>  // ...
      <span>height: 100%;
    </span>  <span>line-height: 3rem;
    </span><span>}
    </span>
    >

    您已經(jīng)知道,重複功能在必要時(shí)重複了多次列。

    自動(dòng)填充意思是“用盡可能多的列填充行”。如果列沒有足夠的空間,則將其放置在下一行。

    >
    <span><span>.container</span> {
    </span>  // ...
      <span>grid-template-rows: 3rem;
    </span><span>}
    </span>
    minmax允許我們指定列寬度的最小值和最大值。在這種情況下,每列應(yīng)跨越1個(gè)自由空間的一部分,但不少於200個(gè)像素。

    所有這些意味著在較小的屏幕上,列可以縮小到最多的200px。如果仍然沒有足夠的空間,則將移動(dòng)一條或多個(gè)列。這是應(yīng)用上述CSS規(guī)則的結(jié)果:

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

    後備

    不幸的是,所有瀏覽器尚未完全支持CSS網(wǎng)格,您可能會(huì)猜測哪個(gè)仍在實(shí)現(xiàn)規(guī)範(fàn)的較舊版本。是的,它是Internet Explorer 10和11。如果您在這些瀏覽器中打開演示,您會(huì)發(fā)現(xiàn)網(wǎng)格根本不起作用,並且這些區(qū)域只是堆疊的:

    >

    重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局

    當(dāng)然,這不是世界末日,因?yàn)樵摼W(wǎng)站仍然可用,但至少添加一些後備規(guī)則。好消息是,如果元素被漂浮並也已分配,則網(wǎng)格優(yōu)先。另外,顯示器,垂直空間和其他某些屬性也對網(wǎng)格項(xiàng)目沒有影響,因此讓我們利用這一事實(shí)。

    >堆疊的菜單看起來不錯(cuò),但是側(cè)邊欄可能應(yīng)放在主要內(nèi)容旁邊,而不是下面。我們可以使用顯示:inline-block:

    在所有支持網(wǎng)格的瀏覽器中,這些屬性都不會(huì)效果,但是在IE中,它們將按預(yù)期應(yīng)用。我們需要調(diào)整的另一項(xiàng)屬性是寬度:

    <span><span><span><div</span> class<span>="container"</span>></span>
    </span>  <span><span><span><header</span> class<span>="logo"</span>></span>
    </span>    <span><span><span><h1</span>></span><span><span><a</span> href<span>="#"</span>></span>DemoSite<span><span></a</span>></span><span><span></h1</span>></span>
    </span>  <span><span><span></header</span>></span>
    </span>
      <span><span><span><nav</span> class<span>="main-menu"</span>></span>
    </span>    <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Our clients<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Products<span><span></a</span>></span><span><span></li</span>></span>
    </span>      <span><span><span><li</span> class<span>="main-menu__item"</span>></span><span><span><a</span> href<span>="#"</span>></span>Contact<span><span></a</span>></span><span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></nav</span>></span>
    </span>
      <span><span><span><main</span> class<span>="content-area"</span>></span>
    </span>    <span><span><span><h2</span>></span>Welcome!<span><span></h2</span>></span>
    </span>
        <span><span><span><p</span>></span>
    </span>      Content
        <span><span><span></p</span>></span>
    </span>  <span><span><span></main</span>></span>
    </span>
      <span><span><span><aside</span> class<span>="sidebar"</span>></span>
    </span>    <span><span><span><h3</span>></span>Additional stuff<span><span></h3</span>></span>
    </span>
        <span><span><span><ul</span>></span>
    </span>      <span><span><span><li</span>></span>Items<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Are<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Listed<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Here<span><span></li</span>></span>
    </span>      <span><span><span><li</span>></span>Wow!<span><span></li</span>></span>
    </span>    <span><span><span></ul</span>></span>
    </span>  <span><span><span></aside</span>></span>
    </span>
      <span><span><span><section</span> class<span>="sponsors-wrapper"</span>></span>
    </span>    <span><span><span><h2</span>></span>Our sponsors<span><span></h2</span>></span>
    </span>
        <span><span><span><section</span> class<span>="sponsors"</span>></span>
    </span>      <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/150x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x150"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/100x100"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>
          <span><span><span><figure</span> class<span>="sponsor"</span>></span>
    </span>        <span><span><span><img</span> src<span>="https://via.placeholder.com/200x200"</span>></span>
    </span>      <span><span><span></figure</span>></span>
    </span>    <span><span><span></section</span>></span>
    </span>
      <span><span><span></section</span>></span>
    </span>
      <span><span><span><footer</span> class<span>="footer"</span>></span>
    </span>    <span><span><span><p</span>></span>
    </span>      <span title="?">&copy; 2018 DemoSite. White&amp;Sons LLC. All rights (perhaps) reserved.
    </span>    <span><span><span></p</span>></span>
    </span>  <span><span><span></footer</span>></span>
    </span><span><span><span></div</span>></span>
    </span>
    >但是,添加了這些樣式後,我們的網(wǎng)格佈局現(xiàn)在看起來會(huì)更糟,因?yàn)榫W(wǎng)格項(xiàng)目不忽略寬度屬性

    >??梢越逯鶣supports CSS查詢來解決。 IE不了解這些查詢,但不需要:我們將使用它來修復(fù)網(wǎng)格!

    >
    <span><span>.logo</span> {
    </span>  <span>grid-area: logo;
    </span><span>}
    </span>
    <span><span>.main-menu</span> {
    </span>  <span>grid-area: menu;
    </span><span>}
    </span>
    <span><span>.content-area</span> {
    </span>  <span>grid-area: content;
    </span><span>}
    </span>
    <span><span>.sidebar</span> {
    </span>  <span>grid-area: sidebar;
    </span><span>}
    </span>
    <span><span>.sponsors-wrapper</span> {
    </span>  <span>grid-area: sponsors;
    </span><span>}
    </span>
    <span><span>.footer</span> {
    </span>  <span>grid-area: footer;
    </span><span>}
    </span>

    現(xiàn)在,讓我們照顧贊助商項(xiàng)目,並為每個(gè)塊添加一些最高邊距:> >在支撐網(wǎng)格時(shí)我們不需要任何最高邊距,因此將其在@supports查詢中無效:

    >
    <span><span>.container</span> {
    </span>  <span>display: grid;
    </span>  <span>margin: 0 2rem;
    </span>  <span>grid-template-columns: 2fr 6fr 4fr;
    </span><span>}
    </span>
    最後,讓我們?yōu)镮E添加一些響應(yīng)能力。我們只需將主要內(nèi)容,側(cè)邊欄和每個(gè)贊助商拉伸到較小屏幕上的全寬度:

    >

    <span><span>.container</span> {
    </span>  // ...
      <span>grid-gap: 2rem 1rem;
    </span><span>}
    </span>
    不要忘記修復(fù)支持網(wǎng)格的瀏覽器的讚助商的寬度:

    這是Internet Explorer中的佈局外觀:>
    <span>* {
    </span>  <span>box-sizing: border-box;
    </span><span>}
    </span>
    <span>html {
    </span>  <span>font-size: 16px;
    </span>  <span>font-family: Georgia, serif;
    </span><span>}
    </span>
    <span>body {
    </span>  <span>background-color: #fbfbfb;
    </span><span>}
    </span>
    <span>h1<span>, h2, h3</span> {
    </span>  <span>margin-top: 0;
    </span><span>}
    </span>
    <span>header h1 {
    </span>  <span>margin: 0;
    </span><span>}
    </span>
    <span>main p {
    </span>  <span>margin-bottom: 0;
    </span><span>}
    </span>

    <span><span>.main-header</span> {
    </span>  <span>height: 3rem;
    </span><span>}
    </span>
    您可以在Codepen上查看最終結(jié)果:

    請參閱pen sp:codepen上的sitepoint(@sitepoint)帶網(wǎng)格的多柱佈局。
    <span><span>.logo</span> {
    </span>  // ...
      <span>height: 100%;
    </span>  <span>line-height: 3rem;
    </span><span>}
    </span>

    結(jié)論

    在本文中,我們看到了CSS網(wǎng)格在作用中,並利用了它來重新設(shè)計(jì)現(xiàn)有的基於浮點(diǎn)的佈局。比較這兩種解決方案,我們可以看到“網(wǎng)格”解決方案的HTML和CSS代碼較?。ó?dāng)然不計(jì)算後備),更簡單且更具表現(xiàn)力。借助網(wǎng)格 - 板塊區(qū)域?qū)傩?,很容易理解如何佈置各個(gè)區(qū)域,我們可以快速重新定位它們或調(diào)整其尺寸。最重要的是,我們不需要依靠諸如clearfix等各種駭人聽聞的技巧。

    >

    >因此,如您所見,CSS網(wǎng)格是浮子的絕佳選擇,並且已經(jīng)準(zhǔn)備好生產(chǎn)了。您可能需要為Internet Explorer提供一些後備規(guī)則(這實(shí)現(xiàn)了規(guī)範(fàn)的較舊版本),但是如您所見,它們並不是很複雜,並且通常仍然可以使用該站點(diǎn)全部。

    您是否已經(jīng)嘗試使用CSS網(wǎng)格創(chuàng)建網(wǎng)站?您的印像是什麼?在評論中分享您的想法!

    經(jīng)常詢問有關(guān)CSS電網(wǎng)改造的問題

    > CSS網(wǎng)格改造在Web設(shè)計(jì)中的重要性是什麼?這是一個(gè)二維繫統(tǒng),這意味著它可以處理列和行,這與Flexbox不同,這在很大程度上是一個(gè)維繫統(tǒng)。這使其成為創(chuàng)建適應(yīng)不同屏幕尺寸和分辨率的響應(yīng)設(shè)計(jì)的多功能工具。它還簡化了在容器中的項(xiàng)目中對齊和分配空間的過程,即使它們的大小是未知或動(dòng)態(tài)的。由於其靈活性和易用性,改造從其他網(wǎng)格系統(tǒng)中脫穎而出。與其他需要大量編碼和計(jì)算的系統(tǒng)不同,CSS網(wǎng)格改造使開發(fā)人員可以使用最小的代碼創(chuàng)建複雜的佈局。它還提供了對元素的放置和對齊的更多控制權(quán),使其成為許多開發(fā)人員的首選選擇。

    我可以將CSS網(wǎng)格改造用於移動(dòng)響應(yīng)設(shè)計(jì)嗎?是創(chuàng)建移動(dòng)響應(yīng)設(shè)計(jì)的絕佳工具。它允許開發(fā)人員使用媒體查詢?yōu)椴煌钠聊怀叽缍x不同的網(wǎng)格佈局。這意味著您可以為桌面視圖創(chuàng)建一個(gè)複雜的佈局,以及用於移動(dòng)視圖的更簡單,更簡化的佈局,所有這些佈局都在同一CSS文檔中。

    CSS Grid Retrofit的瀏覽器兼容性問題是什麼? >

    CSS網(wǎng)格改造與大多數(shù)現(xiàn)代瀏覽器兼容,包括Chrome,F(xiàn)irefox,Safari和Edge。但是,在較舊的瀏覽器或版本中,它可能無法正常工作。在多個(gè)瀏覽器中測試您的設(shè)計(jì)始終是一個(gè)好習(xí)慣,以確保其按預(yù)期工作。

    >如何開始在項(xiàng)目中使用CSS網(wǎng)格改造?

    >開始使用CSS網(wǎng)格改造,您需要將容器元素定義為帶有顯示的網(wǎng)格:Grid:grid。然後,您可以使用網(wǎng)格 - 板塊柱和網(wǎng)格 - 板條排定義列和行大小,並將其子元素與網(wǎng)格元素一起使用網(wǎng)格和網(wǎng)格 - 列和網(wǎng)格行。使用其他佈局方法網(wǎng)格改造?

    是的,可以將CSS網(wǎng)格改造與其他佈局方法(如Flexbox)結(jié)合使用,例如Flexbox,以進(jìn)行更複雜的設(shè)計(jì)。當(dāng)您要?jiǎng)?chuàng)建一個(gè)部分靈活且部分固定的佈局時(shí),這可能特別有用。改造包括使用命名網(wǎng)格區(qū)域,以更容易佈局管理,使用FR單元進(jìn)行靈活的網(wǎng)格軌道以及在瀏覽器的開發(fā)人員工具中使用網(wǎng)格檢查器可視化和調(diào)試網(wǎng)格佈局。

    元素?

    css網(wǎng)格改造允許元素重疊,這可以是創(chuàng)建唯一佈局的強(qiáng)大工具。您可以控制與z index屬性重疊元素的堆疊順序。

    我可以將CSS網(wǎng)格改造用於垂直佈局嗎?

    是的,是的,CSS Grid Raturofit是一個(gè)二維繫統(tǒng),是二維繫統(tǒng),這意味著它可以處理列和行。這使其成為創(chuàng)建水平和垂直佈局的多功能工具。

    >

    >在使用CSS網(wǎng)格改造時(shí),有哪些共同挑戰(zhàn)?

    >在與CSS網(wǎng)格翻新時(shí)有一些共同的挑戰(zhàn)包括處理瀏覽器兼容性問題,處理重疊元素以及在許多網(wǎng)格區(qū)域管理複雜佈局。但是,通過實(shí)踐和對網(wǎng)格屬性的良好理解,可以克服這些挑戰(zhàn)。

以上是重新設(shè)計(jì)站點(diǎn)以使用CSS網(wǎng)格佈局的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願(yuàn)投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

什麼是'渲染障礙CSS”? 什麼是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會(huì)阻塞頁面渲染是因?yàn)闉g覽器默認(rèn)將內(nèi)聯(lián)和外部CSS視為關(guān)鍵資源,尤其是使用引入的樣式表、頭部大量內(nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。 1.提取關(guān)鍵CSS並內(nèi)嵌至HTML;2.延遲加載非關(guān)鍵CSS通過JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合併CSS減少請求。建議使用工具提取關(guān)鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復(fù)雜腳本控制。

外部與內(nèi)部CSS:最好的方法是什麼? 外部與內(nèi)部CSS:最好的方法是什麼? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

我的CSS必須在較低的情況下嗎? 我的CSS必須在較低的情況下嗎? Jun 19, 2025 am 12:29 AM

否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進(jìn)性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。 1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

什麼是AutoPrefixer,它如何工作? 什麼是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個(gè)根據(jù)目標(biāo)瀏覽器範(fàn)圍自動(dòng)為CSS屬性添加廠商前綴的工具。 1.它解決了手動(dòng)維護(hù)前綴易出錯(cuò)的問題;2.通過PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設(shè)置browserslist、在構(gòu)建流程中啟用;4.注意事項(xiàng)有不手動(dòng)加前綴、保持配置更新、非所有屬性都加前綴、建議配合預(yù)處理器使用。

什麼是CSS計(jì)數(shù)器? 什麼是CSS計(jì)數(shù)器? Jun 19, 2025 am 12:34 AM

csscounterscanautomationallymentermentermentections和lists.1)usecounter-ensettoInitializize,反插入式發(fā)芽,andcounter()orcounters()

CSS:何時(shí)重要(何時(shí)不)? CSS:何時(shí)重要(何時(shí)不)? Jun 19, 2025 am 12:27 AM

在CSS中,選擇器和屬性名不區(qū)分大小寫,而值、命名顏色、URL和自定義屬性則區(qū)分大小寫。 1.選擇器和屬性名不區(qū)分大小寫,例如background-color和Background-Color相同。 2.值中的十六進(jìn)制顏色不區(qū)分大小寫,但命名顏色區(qū)分大小寫,如red有效而Red無效。 3.URL區(qū)分大小寫,可能導(dǎo)致文件加載問題。 4.自定義屬性(變量)區(qū)分大小寫,使用時(shí)需注意大小寫一致。

什麼是圓錐級函數(shù)? 什麼是圓錐級函數(shù)? Jul 01, 2025 am 01:16 AM

theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

See all articles