」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 我喜歡移動它,移動它(第二部分)

我喜歡移動它,移動它(第二部分)

發佈於2024-08-26
瀏覽:248

歡迎回來!如果您每週都在關注,您可能已經注意到本系列短暫休息了!如果您一直有關注的話,我非常抱歉!

我的一些個人專案工作佔據了我很大一部分注意力,而且我剛結婚,所以我會以此為藉口。如果您想了解我一直在做什麼,請查看公共構建:烘焙系列,該系列記錄了我從概念到部署追蹤家庭烘焙的應用程式的過程。

好吧好吧。停止自我推銷,讓我們回到在螢幕上移動我們的盒子!

取得您的 CodePen!

就像第一部分一樣,您將能夠按照您的 CodePen 模板進行操作!如果您還沒有閱讀第 1 部分,請在此處查看。如果您需要新模板,請按一下此處。

什麼是顯示屬性?

對於顯示和位置屬性,它們似乎影響同一件事:某些內容出現在網頁上的位置。但是,它們確實有細微的差別。定位屬性控制元素在包含該元素的文件中的定位方式。要么在正常流程中,相對於其他元素,要么忽略一切!

顯示的不同之處在於它影響佈局解釋的方式:顯示類型。 CSS 的 display 屬性一開始有點麻煩,因為它不僅設定它所應用到的元素的顯示類型(外部顯示類型),而且還設定該屬性所包含的元素的顯示行為應用於(內部顯示類型)。

內聯與區塊

到目前為止,我們使用的大多數元素都有預設的區塊外部顯示類型。這意味著沒有其他元素將佔據與該元素相同的垂直空間,實際上,新增的任何新元素都會建立一個「新行」。

並非所有元素都是這樣。例如,

標記預設為區塊,而 標記則不然。相反,它們是內聯的,這意味著它們不會創建新行!

好吧,無論元素的預設值如何,您都可以透過設定來更改此屬性:

display: block
display: inline-block

現在在您的程式碼筆中,更改 .box 規則集以使所有框並排顯示。

I Like to Move It, Move It (Part 2)

彈性盒和網格

對於內部顯示類型,我們還有更多關於如何放置事物的選項。我們可以將元素變成彈性盒或網格,這將影響其子元素的佈局。

顯示: 柔性

這些概念中的每一個都值得單獨寫一篇文章,但基本上,彈性框將「靈活地」定位內聯父元素中包含的元素。 Flexbox 更能適應不同的螢幕尺寸,因為它相對於彼此以及包含元素而不是相對於視窗放置項目。

要查看實際效果,請查看 Codepen 中的 .frame 規則集。

取消註解以下程式碼行:

display: flex;

I Like to Move It, Move It (Part 2)

它看起來與四個內聯塊非常相似,對吧?預設情況下,Flex 容器將其項目對齊到 Flexbox 的開頭或左側,但是,這也可以更改!

在彈性盒的聲明下方,加入以下內容:

justify-content: center;

現在我們應該看到所有的框框都出現在螢幕中間!

I Like to Move It, Move It (Part 2)

但是,如果我們不希望他們像那樣被困在頂部怎麼辦?我們也加入:

align-items: center;

I Like to Move It, Move It (Part 2)

偉大的!

顯示:網格

注意:在 CodePen 中繼續操作之前,請確保註解掉或刪除包含 display: flex 以及您新增的 justify-content 或align-items 屬性的行。

除了彈性盒之外,我們還可以選擇將整個元素變成網格,我們可以在其中放置項目!

我不會在這裡詳細介紹此程式碼的細節,但知道可以透過將元素聲明為網格、提供網格模板然後將項目放入網格中來實現!

取消.frame規則集中以下行的註解!

display: grid;  
  grid-template: 1fr 1fr / 1fr 1fr;
  align-items: center;
  justify-items: center;

現在,您應該看到每個框都位於框架象限的中心!

I Like to Move It, Move It (Part 2)

使用你新發現的技能!

與上一篇文章一樣,這裡有一系列挑戰。 在嘗試之前,您需要刪除或重新註釋建立網格佈局的程式碼行!

挑戰#1: 在 MDN 中搜尋正確的 justify-content 屬性,以便在水平面上均勻地顯示每個區塊,而不接觸側面和垂直中心,如下圖所示。

I Like to Move It, Move It (Part 2)

挑戰#2:仍然在彈性容器中,看看您是否可以將所有盒子組合在一起並將它們放在右下角! (您必須為此調整哪些屬性?)

I Like to Move It, Move It (Part 2)

挑戰 #3: 你能找到一個可以反轉元素顯示順序的 flex 屬性嗎?

I Like to Move It, Move It (Part 2)

恭喜您完成這些挑戰!下週見,了解更多 HTML 和 CSS!

版本聲明 本文轉載於:https://dev.to/nmiller15/i-like-to-move-it-move-it-part-2-4p12?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 對於專業開發人員來說最有用的 VS Code 快捷方式?
    對於專業開發人員來說最有用的 VS Code 快捷方式?
    VS Code 中 20 個最有用的快捷鍵 一般導航 指令面板:存取 VS Code 中的所有可用指令。 Ctrl Shift P (Windows/Linux) 或 Cmd Shift P (macOS) 快速開啟:按名稱快速開啟檔案。 Ctrl P (Windows/Linux) 或 Cmd ...
    程式設計 發佈於2024-11-06
  • 何時使用“composer update”與“composer install”?
    何時使用“composer update”與“composer install”?
    探索composer update和composer install之間的區別Composer是一個流行的PHP依賴管理器,提供兩個關鍵命令:composer update和composer install。雖然它們具有管理依賴關係的共同目標,但它們具有不同的目的並以不同的方式運作。 Compose...
    程式設計 發佈於2024-11-06
  • Python 中的物件導向程式設計 (OOP):類別和物件解釋
    Python 中的物件導向程式設計 (OOP):類別和物件解釋
    面向对象编程 (OOP) 是软件开发中使用的关键方法。 在本文中,我们将探讨 OOP 的主要思想,特别是 Python 中的类、对象、继承和多态性。 在本指南结束时,您将了解如何使用 OOP 原则组织 Python 代码,使您的程序更加模块化、可重用且更易于维护。 什么是面向对象编...
    程式設計 發佈於2024-11-06
  • 在 Git 中切換分支而不丟失您的工作
    在 Git 中切換分支而不丟失您的工作
    作为开发人员,我们经常发现自己处于这样的情况:当我们深入编写功能时,突然有一个紧急问题需要我们立即关注。为了解决这个问题,我们需要切换 Git 中的分支。但是,如果我们尚未提交当前的更改,那么这样做可能会有风险。我们可能会失去工作或面临合并冲突。 在这篇文章中,我将引导您了解两种在 Git 中切换分...
    程式設計 發佈於2024-11-06
  • shell 中的 Props 與回呼
    shell 中的 Props 與回呼
    在這篇文章中,我將帶您了解一個實際場景,其中父元件(ListBox) 與子元件(AlertComponent ) 使用props 和回呼。 當您希望子元件與父元件通訊以維護狀態或觸發操作時,這在 React 中非常有用。 讓我們透過這個例子來理解: 我有一個 ListBox 元件,用於顯示項目清...
    程式設計 發佈於2024-11-06
  • 如何使用 Python 的 argparse 模組將值列表作為命令列參數傳遞?
    如何使用 Python 的 argparse 模組將值列表作為命令列參數傳遞?
    如何使用 argparse 將清單作為命令列參數傳遞? 在 Python 的 argparse 模組中,您可以傳遞清單使用 nargs 或附加選項作為命令列參數。 nargs使用 nargs 指定期望的參數數量。例如,nargs=' 表示一個或多個參數,nargs='*' 表...
    程式設計 發佈於2024-11-06
  • 如何解決 ES6 模組中的「意外令牌匯出」錯誤?
    如何解決 ES6 模組中的「意外令牌匯出」錯誤?
    意外的令牌導出:擁抱ES6 模組支援嘗試執行ES6 程式碼時遇到「意外的代幣匯出」錯誤可能會令人困惑問題。當執行時間環境缺乏對您正在使用的 EcmaScript 模組 (ESM) 語法的支援時,就會發生此錯誤。 了解 ESM:ESM,通常稱為「ES6 Modules」引入了 JavaScript 的...
    程式設計 發佈於2024-11-06
  • Next.js 簡介:建立您的第一個應用程式
    Next.js 簡介:建立您的第一個應用程式
    Next.js 是一种流行的 React 框架,使开发人员能够创建快速的服务器渲染应用程序。它提供了强大的开箱即用功能,例如静态站点生成 (SSG)、服务器端渲染 (SSR) 和 API 路由。在本指南中,我们将逐步介绍构建您的第一个 Next.js 应用程序的过程,重点关注关键概念和实际示例。 ...
    程式設計 發佈於2024-11-06
  • 使用 ChatGPT 建立訂單處理服務(貢獻努力)並已完成
    使用 ChatGPT 建立訂單處理服務(貢獻努力)並已完成
    人工智能为改变和提高我的日常工作效率做出了贡献 作为一名开发人员,当您的时间有限时,构建订单处理服务有时会让人感到不知所措。然而,借助 ChatGPT 等人工智能驱动的开发工具的强大功能,您可以通过生成代码、设计实体和逐步解决问题来显着加快流程。在本文中,我将向您介绍如何使用 ChatGPT 在短短...
    程式設計 發佈於2024-11-06
  • 如何在 Django 中記錄所有 SQL 查詢?
    如何在 Django 中記錄所有 SQL 查詢?
    如何在 Django 中記錄 SQL 查詢記錄 Django 應用程式執行的所有 SQL 查詢有利於偵錯和效能分析。本文提供了有關如何有效實現此目標的逐步指南。 配置要記錄所有SQL 查詢,包括管理網站產生的查詢,請將以下程式碼片段整合到settings.py 檔案中的LOGGING 欄位:LOGG...
    程式設計 發佈於2024-11-06
  • JavaScript 是同步還是異步,是單執行緒還是多執行緒? JavaScript程式碼是如何執行的?
    JavaScript 是同步還是異步,是單執行緒還是多執行緒? JavaScript程式碼是如何執行的?
    JavaScript 是一種同步、單執行緒語言,一次只能執行一個指令。僅噹噹前行執行完畢後,才會移至下一行。但是,JavaScript 可以使用事件循環、Promises、Async/Await 和回呼佇列執行非同步操作(JavaScript 預設是同步的)。 JavaScript程式碼是如何執行...
    程式設計 發佈於2024-11-06
  • 如何從 PHP 中的物件數組中提取一列屬性?
    如何從 PHP 中的物件數組中提取一列屬性?
    PHP:從物件數組中高效提取一列屬性許多程式設計場景都涉及使用物件數組,其中每個物件可能有多個屬性。有時,需要從每個物件中提取特定屬性以形成單獨的陣列。在 PHP 中,在不借助循環或外部函數的情況下用一行程式碼實現此目標可能很棘手。 一個可能的方法是利用 array_walk() 函數和 creat...
    程式設計 發佈於2024-11-06
  • 建構 PHP Web 專案的最佳實踐
    建構 PHP Web 專案的最佳實踐
    規劃新的 PHP Web 專案時,考慮技術和策略方面以確保成功非常重要。以下是一些規則來引導您完成整個過程: 1. 定義明確的目標和要求 為什麼重要:清楚了解專案目標有助於避免範圍蔓延並與利害關係人設定期望。 行動: 建立具有特定功能的專案大綱。 確定核心特徵和潛在的發展階段。 ...
    程式設計 發佈於2024-11-06
  • 如何在不使用巢狀查詢的情況下從 MySQL 中的查詢結果指派使用者變數?
    如何在不使用巢狀查詢的情況下從 MySQL 中的查詢結果指派使用者變數?
    MySQL 中根據查詢結果分配使用者變數背景和目標根據查詢結果分配使用者定義的變數可以增強資料庫操作能力。本文探討了在 MySQL 中實現此目的的方法,而無需借助嵌套查詢。 使用者變數賦值語法與流行的看法相反,使用者變數賦值可以直接整合到查詢中。 SET 語句的賦值運算子是= 或:=。但是,:= 必...
    程式設計 發佈於2024-11-06

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3