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

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

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

Feb 15, 2025 am 08:45 AM

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

在本文中,我們將通過創(chuàng)建響應(yīng)迅速的多列網(wǎng)站佈局來查看CSS電網(wǎng)。 如今,CSS網(wǎng)格是網(wǎng)絡(luò)開發(fā)的新趨勢。忘了桌子佈局和浮點(diǎn):設(shè)計網(wǎng)站的新方法已經(jīng)在這裡!這項技術(shù)引入了二維網(wǎng)格,該網(wǎng)格定義了使用少數(shù)CSS規(guī)則的佈局多個區(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)涉及定義一個具有顯示的容器:網(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è)計要求,展示CSS電網(wǎng)在現(xiàn)代網(wǎng)絡(luò)設(shè)計中的兼容性和多功能性。
  • 我們要構(gòu)建的
  • 因此,我們被要求創(chuàng)建一個典型的網(wǎng)站佈局,其中包含標(biāo)頭,主內(nèi)容區(qū)域,右側(cè)側(cè)邊欄,贊助商列表和頁腳:>
  • >另一個開發(fā)人員已經(jīng)嘗試解決此任務(wù),並提出了一個涉及浮點(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è)計佈局。

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

    計劃網(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)題還分配了一個駭客修復(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)部,有一個.spors部分,其中包含顯示屬性為表。每個贊助商依次顯示為表單元格。
    • .footer是我們的頁腳,並且跨越了100%的空間。
    • 我們的新佈局將與最初的佈局非常相似,但是除了一個例外:我們不會添加.main-header和.content-area-area-wrapper包裝器,因?yàn)椴辉傩枰猚learfix。這是html的新版本:

    請注意,您可以將身體用作全局.Container;在這種情況下,這只是偏愛的問題??偠灾?,我們有六個主要領(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í)施一種移動優(yōu)先的方法。也就是說,您是從移動佈局開始的,然後為大屏幕添加樣式。在這種情況下,這不是必需的,因?yàn)槲覀冋谡{(diào)整初始佈局,該佈局已經(jīng)回到了小屏幕設(shè)備上的線性視圖。因此,讓我們首先關(guān)注電網(wǎng)的實(shí)現(xiàn),然後再討論響應(yīng)能力和後備規(guī)則。因此,返回我們的計劃,看看如何安排網(wǎng)格列:>

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

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

    >

    >現(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)格定義一個網(wǎng)格容器,並為其孩子設(shè)置特殊的格式上下文。 FR是一個特殊的單元,意思是“網(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>
    完成此操作,我們可以與各個領(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)在,我們可以前往第一個目標(biāo),這將是標(biāo)題。 >

    設(shè)計標(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)跨越兩個列。我們可以藉助網(wǎng)格 - 板序列屬性來表達(dá)我們的意圖,該屬性引用了上面分配的網(wǎng)格區(qū)域名稱:>

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

    >

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

    菜單應(yī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ī)則選項卡,並找到顯示:網(wǎng)格屬性。通過按在網(wǎng)格值旁邊的小圖標(biāo)上,您可以啟用或禁用熒光筆:

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

    這是結(jié)果:

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

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

    重新設(shè)計站點(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ù)一列。至於行,我希望它的高度自動設(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è)計站點(diǎn)以使用CSS網(wǎng)格佈局

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

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

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

    現(xiàn)在,將.sponsors部分也變成一個網(wǎ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)自動設(shè)置其高度。列之間的差距應(yīng)等於1REM:

    <span><span>.container</span> {
    </span>  // ...
      <span>grid-gap: 2rem 1rem;
    </span><span>}
    </span>
    樣式每個項目:

    <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)格而沒有任何問題。另一個解決方案可能是使用Flexbox,但是在這種情況下,如果沒有足夠的寬度,則贊助商可能會包裝。
    <span><span>.logo</span> {
    </span>  // ...
      <span>height: 100%;
    </span>  <span>line-height: 3rem;
    </span><span>}
    </span>
    >

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

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

    >

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

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

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

    重新設(shè)計站點(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é)中照顧這項任務(wù)。

    >

    使佈局響應(yīng)

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

    大屏幕

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

    中等屏幕
    <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ù)所有三列:

    >還要降低字體尺寸並堆放贊助商,以便它們在另一個下方顯示。列之間的差距應(yīng)為零(因?yàn)閷?shí)際上只有一個列)。相反,我將在行之間設(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è)計站點(diǎn)以使用CSS網(wǎng)格佈局小屏幕

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

    在這種情況下,不應(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)格項目。假設(shè)我們想將菜單放在小屏幕上的菜單(以便訪問者在頁面上完成閱讀材料後不必滾動)。為此,只需調(diào)整網(wǎng)格 - 板序列:

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

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

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

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

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

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

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

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

    後備

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

    >

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

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

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

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

    <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)在看起來會更糟,因?yàn)榫W(wǎ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)在,讓我們照顧贊助商項目,並為每個塊添加一些最高邊距:> >在支撐網(wǎng)格時我們不需要任何最高邊距,因此將其在@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è)邊欄和每個贊助商拉伸到較小屏幕上的全寬度:

    >

    <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è)計現(xiàn)有的基於浮點(diǎn)的佈局。比較這兩種解決方案,我們可以看到“網(wǎng)格”解決方案的HTML和CSS代碼較小(當(dāng)然不計算後備),更簡單且更具表現(xiàn)力。借助網(wǎng)格 - 板塊區(qū)域?qū)傩?,很容易理解如何佈置各個區(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è)計中的重要性是什麼?這是一個二維繫統(tǒng),這意味著它可以處理列和行,這與Flexbox不同,這在很大程度上是一個維繫統(tǒng)。這使其成為創(chuàng)建適應(yīng)不同屏幕尺寸和分辨率的響應(yīng)設(shè)計的多功能工具。它還簡化了在容器中的項目中對齊和分配空間的過程,即使它們的大小是未知或動態(tài)的。由於其靈活性和易用性,改造從其他網(wǎng)格系統(tǒng)中脫穎而出。與其他需要大量編碼和計算的系統(tǒng)不同,CSS網(wǎng)格改造使開發(fā)人員可以使用最小的代碼創(chuàng)建複雜的佈局。它還提供了對元素的放置和對齊的更多控制權(quán),使其成為許多開發(fā)人員的首選選擇。

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

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

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

    >如何開始在項目中使用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è)計。當(dāng)您要創(chuàng)建一個部分靈活且部分固定的佈局時,這可能特別有用。改造包括使用命名網(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是一個二維繫統(tǒng),是二維繫統(tǒng),這意味著它可以處理列和行。這使其成為創(chuàng)建水平和垂直佈局的多功能工具。

    >

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

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

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

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(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ū)動的應(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會阻塞頁面渲染是因?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ù)雜腳本控制。

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

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

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

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

CSS教程,用於創(chuàng)建粘性標(biāo)頭或頁腳 CSS教程,用於創(chuàng)建粘性標(biāo)頭或頁腳 Jul 02, 2025 am 01:04 AM

TocreatestickyheadersandfooterswithCSS,useposition:stickyforheaderswithtopvalueandz-index,ensuringparentcontainersdon’trestrictit.1.Forstickyheaders:setposition:sticky,top:0,z-index,andbackgroundcolor.2.Forstickyfooters,betteruseposition:fixedwithbot

CSS自定義屬性的範(fàn)圍是什麼? CSS自定義屬性的範(fàn)圍是什麼? Jun 25, 2025 am 12:16 AM

CSS自定義屬性的作用域取決於其聲明的上下文,全局變量通常定義在:root中,而局部變量則定義在特定選擇器內(nèi),以便組件化和隔離樣式。例如,定義在.card類中的變量僅對匹配該類的元素及其子元素可用。最佳實(shí)踐包括:1.使用:root定義全局變量如主題色;2.在組件內(nèi)部定義局部變量以實(shí)現(xiàn)封裝;3.避免重複聲明同一變量;4.注意選擇器特異性可能引發(fā)的覆蓋問題。此外,CSS變量區(qū)分大小寫,且應(yīng)在使用前定義以避免錯誤。若變量未定義或引用失敗,則會採用回退值或默認(rèn)值initial。調(diào)試時可通過瀏覽器開發(fā)者工

CSS網(wǎng)格中的FR單元是什麼? CSS網(wǎng)格中的FR單元是什麼? Jun 22, 2025 am 12:46 AM

ThefrunitinCSSGriddistributesavailablespaceproportionally.1.Itworksbydividingspacebasedonthesumoffrvalues,e.g.,1fr2frgivesone-thirdandtwo-thirds.2.Itenablesflexiblelayouts,avoidsmanualcalculations,andsupportsresponsivedesign.3.Commonusesincludeequal-

CSS教程專注於移動優(yōu)先設(shè)計 CSS教程專注於移動優(yōu)先設(shè)計 Jul 02, 2025 am 12:52 AM

Mobile-firstCSSdesignrequiressettingtheviewportmetatag,usingrelativeunits,stylingfromsmallscreensup,optimizingtypographyandtouchtargets.First,addtocontrolscaling.Second,use%,em,orreminsteadofpixelsforflexiblelayouts.Third,writebasestylesformobile,the

您可以在CSS網(wǎng)格項目中嵌套Flexbox容器嗎? 您可以在CSS網(wǎng)格項目中嵌套Flexbox容器嗎? Jun 22, 2025 am 12:40 AM

是的,可以在CSSGrid項中使用Flexbox。具體做法是先用Grid劃分頁面結(jié)構(gòu),在某個Grid單元格內(nèi)設(shè)置子容器為Flex容器,以實(shí)現(xiàn)更精細(xì)的對齊和排列;例如,在HTML中嵌套一個帶有display:flex樣式的div;這樣做的好處包括分層佈局、響應(yīng)式設(shè)計更容易、組件化開發(fā)更友好;需要注意display屬性僅影響直接子元素、避免過度嵌套、考慮舊版瀏覽器兼容性問題。

See all articles