開發效率創新高,只因收下了這波 CSS 操做

首先無論你承不認可幹前端這一行除了沒 bug 還須要界面美觀度達到必定的值。不然是不可能讓你經過的,這篇文章不是講如何用 css 作酷炫的效果,好比實現個三角形、多邊形、土星的。這裏寫的都是最普通的經常使用的操做,例如如何快速重置默認樣式,如何實現文字最多隻有三行,超過三行省略顯示,這裏總結的是日常很是常見的操做可是比起設置元素的寬、高、顏色、字體又沒那麼好記憶。因而我幫你分門類別的記錄了一下

常用,又記不住的 CSS 樣式

1. 快速重置表單元素 unset

原始的 button 按鈕要重置挺麻煩的。洋洋灑灑的要設置好幾個屬性,就像下面這樣:css

button {
  background: none;
  border: none;
  color: inherit;
  font: inherit;
  outline: none;
  padding: 0;
}複製代碼

其實你只須要這樣就能夠(像平時用的特別多的 input textarea ):html

button { all: unset; }複製代碼


2.文本省略號顯示

文本省略號是很是常見的需求,而省略號展現又一般分爲倆種狀況折行和不折行。不折行:前端

div {  
  white-space:nowrap;/* 規定文本是否折行 */  
  overflow: hidden;/* 規定超出內容寬度的元素隱藏 */
  text-overflow: ellipsis;
  /* 規定超出的內容文本省略號顯示,一般跟上面的屬性連用,由於沒有上面的屬性不會觸發超出規定的內容 */
}複製代碼

折行(能主動控制行數,這裏設置的超出 4 行顯示省略號):css3

div {      
  overflow: hidden;      
  text-overflow: ellipsis;      
  display: -webkit-box; /* 將對象做爲彈性伸縮盒子模型顯示 */      
  -webkit-line-clamp: 4; /* 控制最多顯示幾行 */      
  -webkit-box-orient: vertical; /* 設置或檢索伸縮盒對象的子元素的排列方式 */    
}複製代碼


3.改變盒模型的寬高計算方式

默認:盒模型的寬高 = 內容寬 + padding + borderweb

一般咱們寫頁面的時候會直接固定好元素的寬高,後面纔會在接着設置 padding,border 這些細節。而後設置了 padding,border 以後發現元素尺寸發生了變化,這種狀況非常煩人,因此咱們須要下面的理想狀況↓瀏覽器

理想: 盒模型直接設置的寬爲最終寬,不會隨  padding,border 改變bash

box-sizing:border-box;複製代碼


4.改變滾動條樣式

首先要明確滾動條的組成分爲三個部分,滾動條容器 scrollbar, 滾筒條軌道 scrollbar-track,滾動條滑塊 scrollbar-thumb。然而我寫這篇文字的時候嘗試了一下軌道的內容能夠直接在容器設置,也就是沒有清晰的區分容器和軌道之間的區別,有知道的同窗還麻煩告知,謝謝。微信

div::-webkit-scrollbar {
  /* 這裏的寬是指豎向滾動條的寬,高是指橫向滾動條的高*/      
  width: 16px;      
  height: 16px;      
  background: pink;    
}
div::-webkit-scrollbar-thumb {      
  border-radius: 10px;      
  background: 
  linear-gradient(red,orange);    
}複製代碼



5.最後一個 div 不顯示下邊框

div:not(:last-child) /* 匹配非最後一個 div 元素的 div 元素 */複製代碼


6.設置文本倆端對齊

div {  width: 100px;  padding: 0 10px;  background: pink;  margin-bottom: 10px;  text-align-last:justify; /* 這是關鍵屬性 */}

<div>帳號</div><div>密碼設置</div><div>手機號</div>複製代碼


7.規定圖像展現方式

顯示圖片的時候會遇到這種問題,對面返回的圖片寬高比例是不同的。可是設置的容器大小是同樣的,這個時候須要讓圖片保持比例最大填充容器。佈局

object-fit:fill | contain | cover | none | scale-down複製代碼

具體的例子能夠看這個:codepen.io/pen/?&e…post


總結

這些是使用場景特別多的不易記錄的技巧,若是想看更多的騷操做能夠看這篇文章:

juejin.im/post/5d4d0e…

經常使用的幾種佈局方式

佈局最經常使用的就是垂直居中,水平居中的實現。而後元素分爲塊狀元素和行內元素,所以致使實現的方式大有不一樣,因此我來幫你歸歸類

1.行內元素

讓行內元素垂直居中對其你確定知道只要設置行高=包裹元素的高度,text-align=center便可。那若是是不一樣字體大小的行內元素放在同一個水平線上呢?


能夠很明顯看到大號字體是垂直居中了,小號字體並無垂直居中。要想居中內就要用到 vertical-align 屬性了。這個屬性用起來是有區別於正常的頂對齊,底對其的,講解這個不在本篇文章的範圍,不過我幫你找了倆片文章好讓你輕鬆理解。

blog.csdn.net/fe_dev/arti…

www.cnblogs.com/rainman/arc…

上面的行內元素垂直居中的場景仍是蠻多的,像圖片跟文字組合。像字體圖表跟文字組成的按鈕,像付款的時候金額永遠標紅而且字號要大

2.塊元素

1.將塊元素變爲行內元素,繼續沿用上文的方式進行垂直居中

2.變爲 flex 佈局。設置主軸和交叉軸垂直

align-items:center
justify-content:center
複製代碼

3.採用定位,這種方式多見於作一些提示框。而且一般都根據瀏覽器定位的比較多

position:absolute
top:50%
left:50%
transfrom:translate(-50%, -50%)複製代碼


總結

專門寫垂直居中佈局的文章列舉的花樣是我這個的好幾倍,但我這邊不是爲了增長記憶負擔。只分析最長見得狀況,用最樸素的代碼實現最簡單的效果快速交付

樣式提升

自從 css3 出來以後涌現了大量簡單實用的技巧,界面開始加入的漸變、陰影、旋轉、動畫也愈來愈多。因此這些屬性不只僅要知道,還要更好的投入實戰當中。

1.漸變

線性漸變

/* 第一個參數倆種形式一種是角度另外一正是英文描述例如: to left, to right */
/* 語法, [] 中的內容爲一組, + 表明內容可以出現 1 - N 次 */
background: liner-gradient([angle]+, color-stop[, color-stop]+)
/* 舉例 */
background: linear-gradient(0deg, red, blue, ...)複製代碼

漸變當中最簡單的漸變,能夠設置多種顏色,顏色之間的漸變距離是等分的。須要注意的是漸變方向的問題。你能夠理解爲角度指向的方向就是定義最後顏色的方向。

重複線性漸變

/* 單位不只僅侷限於百分比,像素也是能夠的 */
background: repeating-linear-gradient(45deg, white, white 10%, black 10%, black 20%)複製代碼


能夠看出來它可以控制漸變的範圍,是 linear-gradient 的升級版。不加範圍效果跟 linear-gradient 是同樣的。而這個屬性使用的整個難度也都在範圍上。但其實你稍加註意一下這些規則就沒問題了。

  • radial-gradient(circle, red, blue, green);開始和結束,不設置百分比分別表明 0% 和 100%
  • 最後設置的百分比表明一組的位置,好比 20% 。表明可以重複 5 組
  • 想要沒漸變,能夠重複設置相同的顏色值,上圖的意思就是 0-10% 設置白色 10%-20% 設置黑色就能夠實現沒有漸變的顏色

徑向漸變

這個語法蠻複雜的,貼一下 MDN 上的語法


看懂這個須要注意幾個限定符和特殊字符(語法跟正則挺像)

  • + 匹配 1-N 次
  • ?匹配 0-1 次
  • | 或者
  • {2} 匹配倆次,正好倆次,多了少了都不行

background: radial-gradient(circle closest-corner at 50% 50%, red, blue, green);複製代碼


重複徑向漸變

/* 關鍵詞*/
repeating-radial-gradient複製代碼

跟重複徑向漸變差很少,就不過多敘述了


2.陰影

box-shadow:[inset] offset-x offset-y color [, [inset] x-shadow y-shadow color]+複製代碼

  • inset 控制是內 / 外陰影。不填外陰影,填了內陰影
  • offset-x 可正可負,正值在右邊,負值在左邊
  • offest-y 可正可負,正值在下邊,負值在右邊
  • color 顏色
  • 上面的能夠重複設置

box-shadow: -10px 0 10px red, 
            10px 0 10px yellow, 
            0 -10px 10px blue, 
            0 10px 10px green;複製代碼



總結

這篇文章給個人整體感受並不怎麼突出主題,除了上面的第一部分常用又記不住的 css 感受還能夠。剩下的並無太多心意,可是給本身定的每週一篇的目標又必須完成,因此只能先發表後期在完善了。廣大同窗若是有好的意見還請多多評論。有喜歡用微信看文章的能夠關注一波個人公衆號《點滴前端》

相關文章
相關標籤/搜索