春雷行動-前端技術之CSS必備知識

2021-02-19 TrumanDu Show
春雷行動-前端技術之CSS必備知識前言

這篇文章不是教程,也不是讓讀者能夠學會和掌握CSS,而是我的學習筆記。文章的目的是讓我實踐,系統的了解一下一些必備知識,僅此而已。

如果你需要這方面的知識詳細學習的話,推薦你看參考的連結。內容全部來源於此。

正文五種經典布局1.空間居中
.parent{
display: grid;
place-items: center;
}

核心代碼是place-items屬性,那個是它的簡寫形式place-items: <align-items> <justify-items>; 兩者相同的話可以省略。

左上角 place-items: start;

右下角place-items: end;

2.並列式布局

並列式布局就是多個項目並列。容器設置成 Flex 布局,內容居中(justify-content)可換行(flex-wrap)

.container{
display: flex;
justify-content: center;
flex-wrap: wrap;
}

項目上面只用一行flex

.col{
flex: 1 1 300px;
}

flex屬性是flex-grow、flex-shrink、flex-basis這三個屬性的簡寫形式 flex: <flex-grow> <flex-shrink> <flex-basis>;

flex-grow:指定如果有多餘寬度,項目是否可以擴大。flex-shrink:指定如果寬度不足,項目是否可以縮小。

flex: 0 1 300px; 表示項目初始寬度是300,寬度不夠的話可以縮小,但是不可以擴大。flex: 1 1 300px;,表示項目始終會佔滿所有寬度。

3.兩欄式布局
.container{
display: grid;
grid-template-columns: minmax(100px,20%) 1fr;
}

grid-template-columns指定頁面分成兩列。第一列的寬度是minmax(150px, 25%),即最小寬度為150px,最大寬度為總寬度的25%;第二列為1fr,即所有剩餘寬度。切記div作為容器,需要項目(div)。

4.三明治布局

三明治布局指的是,頁面在垂直方向上,分成三部分:頁眉、內容區、頁腳。

.container{
display: grid;
grid-template-rows: auto 1fr auto;
}

grid-template-rows是指垂直方向。head和foot都是跟隨內容自動變化,中間區域為剩餘大小

5.聖杯布局

聖杯布局是最常用的布局,所以被比喻為聖杯。它將頁面分成五個部分,除了頁眉和頁腳,內容區分成左邊欄、主欄、右邊欄。

  body{
display: grid;
grid-template: auto 1fr auto/auto 1fr auto;
}
header{
grid-column: 1 / 4;
}
.main{
grid-column: 2 / 3;
}
.left{
grid-column: 1 / 2;
}
.right{
grid-column: 3 / 4;
}
footer{
grid-column: 1 / 4;
}

grid-template是grid-template-rows和grid-template-columns的簡寫,grid-template: <grid-template-rows> / <grid-template-columns>

grid-column是grid-column-start和grid-column-end的簡寫,grid-column: <start-line> / <end-line>表示垂直第幾根線。上面代碼的grid-column: 1 / 4代表從第1列到第4列。

CSS使用技巧高度100%

有的時候,我們發現高度設置為100%不生效,這個是因為百分比相對於父元素,因為我們將所有的父元素都設置為height:100%

    <style>
html,body{
height: 100%;
margin: 0px;
}
.parent{
background-color: lightskyblue;
width: 100%;
height: 100%;
}
</style>

<div></div>

當然使用100vh就沒有上面的問題。

文字的水平居中
text-align:center;

容器的水平居中
div#container {
    width:760px;
    margin:0 auto;
  }

先為該容器設置一個明確寬度,然後將margin的水平值設為auto即可。

文字的垂直居中
height: 35px; line-height: 35px;

如果有n行文字,那麼將行高設為容器高度的n分之一即可。

容器的垂直居中
<div id="big">
    <div id="small">
    </div>
</div>

div#big{
    position:relative;
    height:480px;
  }
 div#small {
    position: absolute;
    top: 50%;
    height: 240px;
    margin-top: -120px;
  } 

將大容器的定位為relative。將小容器定位為absolute,再將它的左上角沿y軸下移50%,最後將它margin-top上移本身高度的50%即可。

容器水平垂直居中
.container{
position: relative;
background-color: yellow;
height: 100vh;
width: 100vw;
}
.col{
background-color: red;
position:absolute;
top:50%;
left: 50%;
height: 200px;
width: 200px;
margin: -100px 0 0 -100px;
}

margin: top right bottom left

圖片寬度的自適應
img {max-width: 100%}

3D按鈕
div#button {
    background: #888;
    border: 1px solid;
    border-color: #999 #777 #777 #999;
  }

CSS的優先性

行內樣式 > id樣式 > class樣式 > 標籤名樣式

禁止文字自動換行
white-space:nowrap;

參考

相關焦點

  • 自學web前端怎麼學?web前端學習路線css屬性
    自學web前端技術,如果才能找到一份web前端的工作。按照現在的招聘標準來看,無論你去哪個公司面試,你只需要滿足他們公司的需求就可以。找到一份web前端工作需要掌握的內容如下:首先是html,css這些簡單的靜態布局這是最基本的學習內容,不在多說。
  • 前端html,css基本知識
    上一篇講到過html和css相當於人的身體和衣服的關係,html的歷史發展百度上可以搜到,這裡簡單了解一下,1989年開發出了世界上第一個Web伺服器與Web客戶端,並將這項發明取名為world wide web,也就是我們現在所說的WWW全球資訊網。HTML也因此誕生。
  • 從零開始學習web前端技術路線圖
    我給他的答案是:這個培訓,並不是交了錢,知識就灌到腦子裡的,你沒有基礎,沒有學習能力,沒有狠勁,可能學了四個月跟現在水平差不了太多。最後,建議考研,或者學一下前端技術。其實不是,問問自己對技術有沒有興趣,坐不坐得住。做自己喜歡和感興趣的事情才能夠走的更遠和更久。做好持續學習,時刻保持學習的心態,說實話現在社會,科技的發展非常之快,技術的更新更是如此,如果你覺得學習一門技術就可以吃到老,我勸你還是打住,可能考個公務員更適合你(不要槓精,我並不是說公務員不要學習,自己體會就好)。
  • 合格前端開發該了解的css知識
    css在現階段的前端面試中佔得比重確實低,有些公司甚至都只是一筆帶過。
  • 盤點web前端動畫技術,css動畫是通過什麼實現的?
    網頁架構(html)、網頁樣式(css)、JavaScript之前的關係眾所周知網頁前端由網頁架構(html)、網頁樣式(css)、網頁互動(JavaScript)三部分組成,對於新手來說理解他們之前的關係有些困難,我們可以把網頁前端比成一座房子,html代表房子的基礎和架構、css表示房子的裝修風格是中式、歐式還是其他風格的,JavaScript代表這個房子中能夠產生交互的東西,比如門和窗戶它們都有打開和關閉的動作。
  • 前端必備技能 webpack - 4. webpack處理CSS資源
    sass 文件編譯成 .css 文件;postcss-loader:通過 PostCSS 處理 .css/.sss 文件;stylus-loader:用於處理 Stylus 文件;PostCSS 和 Stylus:[1] PostCSS 官網地址:https://www.postcss.com.cn/[
  • 論前端技術和前端工程之辯
    正文什麼是前端技術?如果有前端開發技術, 前端研發技術與應用這樣的學科, 你覺得會包含哪些內容?特定技術棧下的代碼封裝技術的研究(webpack plugin, loder...)特定技術棧下的代碼封裝技術的研究(postcss-puglin...)特定技術棧下的代碼封裝技術的研究(babel-plugin ...)瀏覽器兼容性處理(borwserlist, autoPrefix...)特定技術棧下的代碼封裝技術的研究(redux, vuex...)瀏覽器 Api 操作代碼封裝技術的研究
  • 前端開發必備的CSS命名規範與常用CSS代碼集合
    編輯 | web前端開發來源 | web前端開發我們在用html+css進行網頁的排版布局時,
  • 欲練JS,必先攻CSS——前端修行之路
    今天我講的主題是css,具體聊一下我大概的css學習歷史,分享一些乾貨,希望這次分享對大家有所啟發和幫助。個人的css歷史說說自己的css學習的歷史,12年,當時是老師手把手1對1教我div+float的固定布局,所有元素全部用float,做了學生會網站的全部前端頁面,因為有段時間學PS比較多,也是自己做的UI,很醜,老師說***次做成這樣很不錯了,那時老師就覺得我有做前端的天賦,我就是從這個時候開始接觸前端的。
  • 前端進階:css必知的幾個底層知識和技巧
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫學習方法推薦問題學習法:帶著問題去學習,有利於集中注意力,目的明確,這既是有意學習的要求,也是發現學習的必要條件
  • 我是如何從零開始 Web 前端自學之路的?
    做好持續學習,時刻保持學習的心態,說實話現在社會,科技的發展非常之快,技術的更新更是如此,如果你覺得學習一門技術就可以吃到老,我勸你還是打住,可能考個公務員更適合你(不要槓精,我並不是說公務員不要學習,自己體會就好)。永遠不要覺得遲,只要行動然後堅持下去,你就幹掉了 80% 的人,自學的人很多,但是堅持下來的沒有幾個。就像郭德綱說過,不是我的相聲說的多好而是我活了下來。
  • 怎樣零基礎學習前端
    前幾天有位朋友問我,零基礎學習Web前端的話,可以給些什麼建議?鑑於當時本人手頭上的工作比較忙,何況關於「零基礎學習Web前端」這一話題的回覆可遠遠不止三言兩語,所以那時只推薦了個網站給其學習Web前端的入門基礎知識,今天我特寫文章系統分析回答這個問題。
  • 前端基礎篇之CSS世界
    我想你每天寫css代碼有時候也會覺得很痛苦:這個布局的css怎麼這麼難實現!我也經常會有這種感覺,一個看似簡單的布局總是要琢磨半天才能實現,偶爾還會出現一些怪異的超出理解的現象。這是因為我們對css只是大概知道個形,並沒有看透css的本質。在同事的推薦下我閱讀了張鑫旭老師的《css世界》,才發現css跟想像中的不太一樣。
  • web前端開發工程師的三種級別
    隨著信息技術不斷發展,前端技術的發展也經歷了不同的階段。前端概念隨著移動智慧型手機的普及被正式提出,混合APP開始被廣泛開發。近年來,由於前端技術開始實現工程化,一些企業前端開發任務逐漸向後端拓展,邏輯思維能力也逐漸成為前端開發人員必備的能力。
  • 成都市市場監管局召開「春雷行動2021」之疫情防控用藥械質量安全...
    1月14日下午,成都市局召開「春雷行動2021」之疫情防控用藥械質量安全執法行動推進會。會議由藥品流通處處長黃真主持,醫療器械處、網監處、藥品安全執法支隊、市藥檢院籌備組(市不良反應監測中心),成都市全市23個區(市)縣市場監管局藥品監管和執法的負責同志參加會議。
  • 現在前端必須掌握nodejs技術嗎
    從工具角度講在以前,前端開發人員一直處於程式設計師鄙視鏈的最低端。往往被吐槽為不配稱自己為一個軟體工程師。究其原因:前端門檻低,隨便學學 div+css 布局,稍微會點 jQuery 就能做一個合格的前端開發。
  • 《前端5分鐘》之使用純css實現網站換膚和焦點圖切換動畫
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫今天我們來繼續復盤一些工作中常用的css技巧和知識,以便我們可以更加優雅的用css實現富有動感的網站.
  • 11 - 前端開發 - CSS 選擇器
    DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>CSS 選擇器</title> <style type="text/css"> li{color: red}</style></head>
  • 前端技術及開發模式的演進
    先聲明,本篇不會講帶有年代性的前端發展史,不講故事,想了解的讀者可以去查閱一些其他的資料和文章,本篇僅僅從技術發展角度結合案例分析,說明前端技術的發展和開發模式的演進變化。本篇內容重點說明PC端技術,移動端、桌面端本篇不涉及,防止讀者看到後面有疑惑,這裡強調一下。
  • 「春雷行動」之濱湖篇
    為進一步優化市容環境秩序,提升城市精細化管理水平,著力解決當前城市市容環境方面存在的突出問題,我市瞄準六大類顯見性市容問題,持續開展市容環境集中整治「春雷行動」,以城市高品質治理全力推進「美麗無錫」建設。