亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

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

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

Feb 15, 2025 am 08:45 AM

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

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

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

>

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

鑰匙要點

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

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

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

對於不完全支持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)站佈局,其中包含標頭,主內(nèi)容區(qū)域,右側(cè)側(cè)邊欄,贊助商列表和頁腳:>
  • >另一個開發(fā)人員已經(jīng)嘗試解決此任務(wù),並提出了一個涉及浮點,顯示的解決方案:表格和一些Clearfix Hacks。我們將這種現(xiàn)有佈局稱為“初始”:>
  • 請參閱Pen SP:codepen上的sitepoint(@sitepoint)的浮子的多柱佈局。
  • 直到最近,浮子被認為是創(chuàng)建這種佈局的最佳選擇。在此之前,我們必須使用HTML表,但是它們有許多缺點。具體而言,此類佈局非常僵化,需要大量標籤(表,TR,TD,TH等),而這些標籤則使用這些標籤來顯示表數(shù)據(jù),而不是設(shè)計佈局。

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

    計劃網(wǎng)格

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

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

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

    >所以,我建議擁有三列(以紅色突出顯示)和四行(以藍色突出顯示)。某些區(qū)域(例如徽標)將僅佔據(jù)一列,而其他區(qū)域(如主內(nèi)容)將跨越多列。稍後,我們可以輕鬆修改佈局,移動周圍的區(qū)域或添加新的區(qū)域。 重新設(shè)計站點以使用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。這意味著中間的列將佔據(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)在,我們可以前往第一個目標,這將是標題。 >

    設(shè)計標題

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

    >還請注意,徽標和菜單垂直與中間對齊,這是使用線路高技巧實現(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>
    從定義第一行開始:

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

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

    >

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

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

    >我們的菜單是使用UL和LI標籤構(gòu)建的,因此,我們還通過刪除標記,無效的邊距/撥片並將菜單設(shè)置為Flex容器來對它們進行一些樣式。
    <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)格標籤:

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

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

    這是結(jié)果:

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

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

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

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

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

    >我們的主要內(nèi)容區(qū)域應(yīng)跨兩列,而側(cè)邊欄應(yīng)僅佔據(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è)計站點以使用CSS網(wǎng)格佈局

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

    在初始佈局中,此塊的樣式是顯示:表格,但我們不會依靠它。實際上,贊助商部分也可能是應(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è)計站點以使用CSS網(wǎng)格佈局位置對X和Y軸上的元素對齊。這是對自己的速記屬性和自我合理的。

    >

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

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

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

    重新設(shè)計站點以使用CSS網(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>
    基本上,佈局已經(jīng)完成!但是,我們還沒有完成:該網(wǎng)站也必須響應(yīng)迅速。因此,讓我們在下一節(jié)中照顧這項任務(wù)。

    >

    使佈局響應(yīng)

    有CSS網(wǎng)格,實際上很容易引入響應(yīng)能力,因為我們可以快速重新定位這些區(qū)域。

    大屏幕

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

    中等屏幕
    <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è)邊欄佔據(jù)所有三列:

    >還要降低字體尺寸並堆放贊助商,以便它們在另一個下方顯示。列之間的差距應(yī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>

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

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

    >在小屏幕上,我們將在單獨的一行上顯示每個區(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è)計站點以使用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è)計站點以使用CSS網(wǎng)格佈局

    後備

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

    >

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

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

    >堆疊的菜單看起來不錯,但是側(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)在看起來會更糟,因為網(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)有的基於浮點的佈局。比較這兩種解決方案,我們可以看到“網(wǎng)格”解決方案的HTML和CSS代碼較?。ó?dāng)然不計算後備),更簡單且更具表現(xiàn)力。借助網(wǎng)格 - 板塊區(qū)域?qū)傩?,很容易理解如何佈置各個區(qū)域,我們可以快速重新定位它們或調(diào)整其尺寸。最重要的是,我們不需要依靠諸如clearfix等各種駭人聽聞的技巧。

    >

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

    您是否已經(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,以進行更複雜的設(shè)計。當(dāng)您要創(chuàng)建一個部分靈活且部分固定的佈局時,這可能特別有用。改造包括使用命名網(wǎng)格區(qū)域,以更容易佈局管理,使用FR單元進行靈活的網(wǎng)格軌道以及在瀏覽器的開發(fā)人員工具中使用網(wǎng)格檢查器可視化和調(diào)試網(wǎng)格佈局。

    元素?

    css網(wǎng)格改造允許元素重疊,這可以是創(chuà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ū)域管理複雜佈局。但是,通過實踐和對網(wǎng)格屬性的良好理解,可以克服這些挑戰(zhàn)。

以上是重新設(shè)計站點以使用CSS網(wǎng)格佈局的詳細內(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

免費脫衣圖片

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

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

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

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
CSS教程,用於創(chuàng)建加載旋轉(zhuǎn)器和動畫 CSS教程,用於創(chuàng)建加載旋轉(zhuǎn)器和動畫 Jul 07, 2025 am 12:07 AM

創(chuàng)建CSS加載旋轉(zhuǎn)器的方法有三種:1.使用邊框的基本旋轉(zhuǎn)器,通過HTML和CSS實現(xiàn)簡單動畫;2.使用多個點的自定義旋轉(zhuǎn)器,通過不同延遲時間實現(xiàn)跳動效果;3.在按鈕中添加旋轉(zhuǎn)器,通過JavaScript切換類來顯示加載狀態(tài)。每種方法都強調(diào)了設(shè)計細節(jié)如顏色、大小、可訪問性和性能優(yōu)化的重要性,以提升用戶體驗。

解決CSS瀏覽器兼容性問題和前綴 解決CSS瀏覽器兼容性問題和前綴 Jul 07, 2025 am 01:44 AM

處理CSS瀏覽器兼容性和前綴問題需理解瀏覽器支持差異並合理使用廠商前綴。 1.了解常見問題如Flexbox、Grid支持不一,position:sticky失效,動畫表現(xiàn)不同;2.查閱CanIuse確認特性支持情況;3.正確使用-webkit-、-moz-、-ms-、-o-等廠商前綴;4.推薦使用Autoprefixer自動添加前綴;5.安裝PostCSS並配置browserslist指定目標瀏覽器;6.構(gòu)建時自動處理兼容性;7.老項目可用Modernizr檢測特性;8.不必追求所有瀏覽器一致,確

顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什麼區(qū)別? 顯示:內(nèi)聯(lián),顯示:塊和顯示:內(nèi)聯(lián)塊之間有什麼區(qū)別? Jul 11, 2025 am 03:25 AM

Themaindifferencesbetweendisplay:inline,block,andinline-blockinHTML/CSSarelayoutbehavior,spaceusage,andstylingcontrol.1.Inlineelementsflowwithtext,don’tstartonnewlines,ignorewidth/height,andonlyapplyhorizo????ntalpadding/margins—idealforinlinetextstyling

使用CSS剪輯路徑創(chuàng)建自定義形狀 使用CSS剪輯路徑創(chuàng)建自定義形狀 Jul 09, 2025 am 01:29 AM

使用CSS的clip-path屬性可以裁剪元素為自定義形狀,如三角形、圓形缺口、多邊形等,無需依賴圖片或SVG。其優(yōu)勢包括:1.支持circle、ellipse、polygon等多種基本形狀;2.可響應(yīng)式調(diào)整,適配移動端;3.易於動畫化,可結(jié)合hover或JavaScript實現(xiàn)動態(tài)效果;4.不影響佈局流,僅裁剪顯示區(qū)域。常見用法如圓形裁剪clip-path:circle(50pxatcenter)和三角形裁剪clip-path:polygon(50%0%,1000%,00%)。注意

造型與CSS不同訪問的鏈接 造型與CSS不同訪問的鏈接 Jul 11, 2025 am 03:26 AM

設(shè)置訪問過鏈接的樣式能提升用戶體驗,尤其在內(nèi)容密集型網(wǎng)站中幫助用戶更好導(dǎo)航。 1.使用CSS的:visited偽類可定義已訪問鏈接樣式,如顏色變化;2.注意瀏覽器出於隱私限制僅允許修改部分屬性;3.顏色選擇應(yīng)與整體風(fēng)格協(xié)調(diào),避免突兀;4.移動端可能不顯示該效果,建議結(jié)合其他視覺提示如icon輔助標識。

如何使用CSS創(chuàng)建響應(yīng)式圖像? 如何使用CSS創(chuàng)建響應(yīng)式圖像? Jul 15, 2025 am 01:10 AM

要使用CSS創(chuàng)建響應(yīng)式圖片,主要可通過以下方法實現(xiàn):1.使用max-width:100%和height:auto讓圖片在保持比例的同時自適應(yīng)容器寬度;2.結(jié)合HTML的srcset和sizes屬性智能加載適配不同屏幕的圖片源;3.利用object-fit和object-position控製圖片裁剪與焦點展示。這些方法共同確保圖片在不同設(shè)備上清晰、美觀地呈現(xiàn)。

揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 揭開CSS單元的神秘面紗:PX,EM,REM,VW,VH比較 Jul 08, 2025 am 02:16 AM

CSS單位的選擇取決於設(shè)計需求和響應(yīng)式要求。 1.px用於固定尺寸,適合精確控制但缺乏彈性;2.em是相對單位,受父元素影響易導(dǎo)致級聯(lián)問題,rem則基於根元素更穩(wěn)定,適合全局縮放;3.vw/vh基於視口大小,適合響應(yīng)式設(shè)計,但需注意極端屏幕下的表現(xiàn);4.選擇時應(yīng)根據(jù)是否需要響應(yīng)式調(diào)整、元素層級關(guān)係及視口依賴程度來決定,合理搭配使用可提升佈局靈活性與維護性。

什麼是常見的CSS瀏覽器不一致? 什麼是常見的CSS瀏覽器不一致? Jul 26, 2025 am 07:04 AM

不同瀏覽器對CSS解析存在差異,導(dǎo)致顯示效果不一致,主要包括默認樣式差異、盒模型計算方式、Flexbox和Grid佈局支持程度及某些CSS屬性行為不一致。 1.默認樣式處理不一致,解決方法是使用CSSReset或Normalize.css統(tǒng)一初始樣式;2.舊版IE的盒模型計算方式不同,建議統(tǒng)一使用box-sizing:border-box;3.Flexbox和Grid在邊緣情況或舊版本中表現(xiàn)有差異,應(yīng)多測試並使用Autoprefixer;4.某些CSS屬性行為不一致,需查閱CanIuse並提供降級

See all articles