成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用這些不太常用的 CSS 屬性,讓我在前端布局效率上,又提高了一個層次!

開發(fā) 前端
有很多CSS屬性,有些人不了解,或者他們了解它們,但是忘記在需要時使用它們。其實,有時候我們用 JavaScript 來實某些交互,CSS 一個屬性就能搞定了,這可以大大節(jié)約我們編碼的時間。

有很多CSS屬性,有些人不了解,或者他們了解它們,但是忘記在需要時使用它們。其實,有時候我們用 JavaScript 來實某些交互,CSS 一個屬性就能搞定了,這可以大大節(jié)約我們編碼的時間。

作為前端開發(fā)人員,我們經常會遇到這樣的事情。所以我問自己,為什么不搞篇文章列出所有那些較少使用但既有用又有趣的 CSS 屬性?

在本文中,我將介紹一些不一樣的CSS屬性,希望能給你帶來點新鮮感,廢話不多說,讓我們開始吧。

在CSS網格中使用Place-Items

 

我們只需使用兩行 CSS 代碼就可以將元素水平和垂直居中。

HTML

  1. <div class="hero"
  2.     <div class="hero-wrapper"
  3.         <h2>CSS is awesome</h2> 
  4.         <p>Yes, this is a hero section made for fun.</p> 
  5.         <a href="#">See more</a> 
  6.     </div> 
  7. </div> 

 

CSS

  1. .hero { 
  2.     display: grid; 
  3.     place-items: center; 

place-items是將justify-items和align-items結合在一起的簡寫屬性。上面的代碼等同于下面代碼:

  1. .hero { 
  2.     display: grid; 
  3.     justify-items: center; 
  4.     align-items: center; 

你可能想知道,這是怎么回事? 我們來解釋一下。當使用place-items時,它將應用于網格中的每個單元格,也就是說單元格的內容都會居中。如果我們多增加幾個單元格就會很清晰明了:

  1. .hero { 
  2.     display: grid; 
  3.     grid-template-columns: 1fr 1fr; 
  4.     place-items: center; 

 

Flexbox 與 margin 的配合

 

與flexbox 結合使用,margin: auto 可以非常輕松地將 flex 項目水平和垂直居中。

html

  1. <div class="parent"
  2.     <div class="child"></div> 
  3. </div> 

 

 

 

css

  1. .parent { 
  2.     width: 300px; 
  3.     height: 200px; 
  4.     background: #ccc; 
  5.     display: flex; 
  6.  
  7. .child { 
  8.     width: 50px; 
  9.     height: 50px; 
  10.     background: #000; 
  11.     margin: auto; 

看起來有點酷 😎

列表的 marker 屬性

 

這前,我還不知道每個li項旁邊的默認小圓圈稱為marker。在我知道::marker偽元素之前,如果要重置小圓圈列表樣式,我們一般使用偽類::before或::after偽元素:

  1. ul { 
  2.     list-style: none; 
  3.     padding: 0; 
  4.  
  5. li { 
  6.     color: #222; 
  7.  
  8. li::before { 
  9.     content: "•"
  10.     color: #ccc; 
  11.     margin-right: 0.5em; 

如上所示<li>顏色是#222,而偽元素::before是#ccc。如果<li>和::before具有相同的顏色,那么小圓圈默認顏色就是 li 的顏色,因此根本不需要偽元素。

我們來看一種更好的方法:

  1. li { 
  2.     color: #222; 
  3.  
  4. li::marker { 
  5.     color: #ccc; 

比起上面?zhèn)晤惖姆绞剑@簡直不要太爽!

text-align 屬性

隨著CSS flexbox和 grid 的日益普及,初學者一般也是使用它們來居中文本,而不是使用text-align屬性,但是,舊方法仍然有效。

使用text-align:center 也可以快速解決問題,考慮以下示例。

 

如果僅內容需要居中,不一定非要使用flexbox或grid,使用text-align反而會更簡單。

display: inline-Flex 屬性

 

當我們需要以為內聯的方式顯示徽章列表,并且每個徽章都應該是一個flexbox元素,這時就需要 inline-flex 出場了。

HTML

  1. <span class="badge"><svg></svg></span> 
  2. <span class="badge"><svg></svg></span> 
  3. <span class="badge"><svg></svg></span> 
  4. <span class="badge"><svg></svg></span> 
  5. .badge { 
  6.     display: inline-flex; /* where the magic happens */ 
  7.     justify-content: center; 
  8.     align-items: center; 

 

CSS 的columns 屬性

column-rule 屬性是一種布局方法,可以將元素劃分為列。一個常見的用例是將段落文本內容分為兩行。但是,最不常見的是我們可以在列之間添加邊框。我從是 Manuel Matuzovic的文章中學到了這一技巧。😍

  1. p { 
  2.     columns: 3; 
  3.     column-rule: solid 2px #222; 

column-rule屬性名稱可能不能反映其用途,但可以將其想象為類似border-right作用。

background-repeat: round

 

我最近從Addy Osmani的一條推文中了解了這種價值。background-repeat有一個值,可以防止背景裁剪。

  1. .element { 
  2.  background-size: contain; 
  3.  background-repeat: round; 

太神奇了,是不是 😲

object-fit 屬性


 

 

object-fit屬性是相當神奇且有用的。當我第一次了解它時,它改變了很多事情,使我作為前端開發(fā)人員的生活更加輕松。最近,我正在研究顯示徽標網格的部分。由于徽標大小不一致,因此有時很難做到這一點。其中一些具有水平形狀,一些具有垂直形狀。😒😵

通過使用object-fit:contain,我可以控制徽標的width和height,并強制將圖像包含在定義的寬度和高度中。😱😱

HTML

  1. <ul class="brands"
  2.     <li class="brands__item"
  3.         <a href="#"
  4.             <img src="img/logo.png" alt=""
  5.         </a> 
  6.     </li> 
  7.     <li> <!-- other logos --> </li> 
  8. </ul> 

css

  1. img { 
  2.     width: 130px; 
  3.     height: 75px; 
  4.     object-fit: contain; 

通過定義width和height,強制限定圖像的大小,這是一個巨大的好處。更好的是,我們可以將以上內容包裝在@supports中,以避免在不支持對象適配的瀏覽器中拉伸徽標圖像。

  1. @supports (object-fit: contain) { 
  2.   img { 
  3.     object-fit: contain; 
  4.     height: 75px; 
  5.   } 

作者:Ahmad shaded 譯者:前端小智 來源:sitepoint

 

原文:https://ishadeed.com/article/common-css/

本文轉載自微信公眾號「大遷世界」,可以通過以下二維碼關注。轉載本文請聯系大遷世界公眾號。

 

責任編輯:武曉燕 來源: 大遷世界
相關推薦

2019-06-21 08:39:23

SQLmysql索引

2021-12-08 12:50:39

代碼MyBatisJava

2012-05-02 11:09:38

無線網絡數據傳輸

2012-05-02 12:39:31

無線網絡多跳無線網絡數據傳輸

2021-07-28 14:35:09

代碼進度條前端

2020-07-13 13:00:24

CSS變量技巧

2020-04-20 14:50:02

前端技巧優(yōu)化

2019-12-10 09:47:51

IaaS云計算物聯網

2024-08-07 08:51:20

Go優(yōu)化開發(fā)

2020-08-28 10:22:26

前端布局效率

2023-11-22 08:26:03

HutoolJava工具集

2025-06-27 07:17:52

2020-06-11 08:05:47

nginx線程池數據

2020-06-12 14:44:06

線程池模式nginx

2020-08-21 10:59:10

微軟服務器運維

2024-05-11 09:24:15

性能Go團隊

2023-12-26 17:18:13

darktable

2024-02-07 13:37:39

AWS系統應用程序

2020-10-10 11:35:10

IBMProject DebAI
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 大香网伊人 | 亚洲成人午夜电影 | 三级视频在线观看 | 欧美中文字幕在线 | 国产精品激情在线 | 免费一级黄色电影 | 无码日韩精品一区二区免费 | 国产精品久久久久久久久久妞妞 | 亚洲黄色网址视频 | 亚洲视频一区在线播放 | 中文字幕 在线观看 | 午夜看片网站 | 在线免费小视频 | 久久99久久久久 | 精久久 | 日韩精品在线网站 | 国产a视频 | 久久激情五月丁香伊人 | 欧美精品在线免费观看 | 日韩美女爱爱 | 亚洲一区日韩 | 另类在线 | 国产成人叼嘿视频在线观看 | 成人国产精品入口免费视频 | 国产精品二区三区 | 亚洲永久精品国产 | 天天操天天怕 | 成人在线精品 | 亚洲精品无 | 欧美成人精品一区二区男人看 | 日本在线一区二区三区 | 久久视频精品 | 91亚洲精品国偷拍自产在线观看 | 国产在线观看一区二区三区 | 欧美成人第一页 | 91免费观看在线 | 草b视频 | 国产精品久久久久国产a级 欧美日韩国产免费 | 欧美黑人一区二区三区 | 亚洲一区二区网站 | 先锋资源亚洲 |