狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網站管理員

前端開發(fā)需要知道的 10 個 CSS 技巧

liguoquan
2023年10月28日 10:59 本文熱度 580
:前端開發(fā)需要知道的 10 個 CSS 技巧


個人覺得 CSS 是每個前端開發(fā)人員都必須掌握的基礎,以完成相應的交互和終端設備的響應。在項目開發(fā)中,有些容易被忽略的小問題帶來項目后期的膠水代碼。本文總結一些項目開發(fā)中 CSS 的 10 個小技巧。

1. 使用相對單位

通常我們在項目開發(fā)中,使用 px 作為尺寸的單位,而不是使用相對單位,如:remem 等。在萬物互聯(lián)的時代,最好的方式是相對單位 remvhvw 等現代 CSS 布局(如 flexbox 和 grid)方式,最大限度的支持各種終端設備。

絕對單位

  • px :是一個絕對單位,主要是因為它是固定的,不會根據任何其他元素的測量而改變。

相對單位

  • vw(viewpoint width):相對于視口的寬度

  • vh(viewpoint height):相對于視口的高度

  • rem(font size of the root element):相對于根 () 元素 (默認字體大小通常為 16px)

  • em(font size of the element):相對于父元素

  • % :相對于父元素

/* 不提倡 */.wrap {    font-size: 14px;    margin: 10px;    line-height: 24px;
}/* 建議 */.wrap {    font-size: 1.2rem;    margin: 0.5rem;    line-height: 1.6em;
}復制代碼

2. 代碼復用

很多開發(fā)人員在談到 CSS 時都覺得代碼重復性很高,在項目開發(fā)中這不是一個好的做法。好在現在有 CSS 預處理器(sass/scss、less、stylus、Turbine),能夠讓我們可以更好的規(guī)劃 CSS 代碼,提高其復用性。

當然需要提高代碼復用,還是需要一定的 CSS 的基礎,來設計好代碼結構,如下:

/* 不提倡 */.container {    background-color: #efefef;    border-radius: 0.5rem;
}.sidebar {    background-color: #efefef;    border-radius: 0.5rem;
}/* 建議 */.container,.sidebar {    background-color: #efefef;    border-radius: 0.5rem;
}復制代碼

3.CSS 重置

每個瀏覽器都有自己的默認樣式,因此,當網頁不包含 CSS 時,瀏覽器會為文本添加一些基本的默認樣式、填充、邊距等。

可以通過使用通用選擇器 * 重置 paddingmarginbox-sizing 和 font-family 來實現這一點。

像這樣:

* {    padding: 0;    margin: 0;    box-sizing: border-box;    font-family: Arial, Helvetica, sans-serif;
}ul,li {    list-style: none;
}復制代碼

不過這些問題現在基本都被框架解決了,對于初學者建議可以模仿但不建議一開始就上框架。

4. 不使用顏色名稱

不要使用 redblue 等顏色名稱,相反,建議使用顏色的十六進制值。

為什么呢?因為當使用像 red 這樣的顏色名稱時,在不同的瀏覽器或者設備中顯示會有所不同。

/* 不提倡 */.container {    background-color: red;
}/* 建議 */.container {    background-color: #ff0000;
}復制代碼

5. 使用簡寫屬性

在 CSS 中,多用簡寫屬性,少用單獨屬性,具體哪些是簡寫屬性,哪些是單獨屬性,下面列舉一下常見的一些屬性,是以通常項目為原則。

簡寫屬性

backgroundfont、 marginpadding、 border、 transition、 transform、 list-style、 border-radius

單獨屬性

rotatescalebackground-colorbackground-imagebackground-positionpadding-leftpadding-rightpadding-toppadding-bottommargin-leftmargin-topmargin-rightmargin-bottomborder-top、 border-right、 border-bottom border-left、 border-width、 border-color、 border-style

/* 不提倡 */.container {    background-image: url(bg.png);    background-repeat: no-repeat;    background-position: center;
}/* 建議 */.container {    background: url(bg.png) no-repeat center;
}復制代碼

6. 文本截取

在項目開發(fā)中,有些列表只需要顯示一行文字,有些列表需要顯示固定函數的文字,過去通過字符截取的方式來實現,但存在截取不統(tǒng)一(文本內容不同英文、中文、標點符號等),再加上現在各種終端的適配,不足就被放大了。

現在最佳的方式是通過 CSS 來實現,在文本最后增加省略號()。

單行截取

元素必須是 block 或 inline-block,如果溢出被隱藏,則文本溢出不起作用,并且元素必須具有定義的寬度或最大寬度集。

p {    display: inline-block;    max-width: 300px;    overflow: hidden;    white-space: nowrap;    text-overflow: ellipsis;
}復制代碼

多行截取

p {    display: -webkit-box;    -webkit-box-orient: vertical;    -webkit-line-clamp: 3; /* 需要顯示的行數 */
    overflow: hidden;
}復制代碼

7. 垂直居中

垂直居中是一個很常見的需求,有很多實現方式,在伸縮容器內的任何東西垂直居中:

.flex-vertically-center {    display: flex;    align-items: center;
}復制代碼

inlineinline-blocktable-cell 塊垂直對齊:

img {    /* 只對block有效 */
    display: inline-block;    vertical-align: middle;
}復制代碼

相對容器中垂直居中的絕對元素,下面代碼是.sub-container 在.container 垂直居中:

.container {    position: relative;
}.sub-container {    position: absolute;    top: 50%;    transform: translateY(-50%);
}復制代碼

8. 水平居中

與垂直對齊類似,不過水平居中更容易一點。

塊居中

.block-element {    display: block;    margin: 0 auto;
}復制代碼

內聯(lián)或內聯(lián)塊文本居中

.container {    text-align: center;
}復制代碼

在相對容器內水平居中絕對元素:

.container {    position: relative;
}.sub-container {    position: absolute;    top: 50%;    transform: translateX(-50%);
}復制代碼

flex 容器內的任何內容水平居中:

.flex-vertically-center {    display: flex;    justify-content: center;
}復制代碼

9. 設置下一個或上一個兄弟元素樣式

對元素前面和后面的元素進行樣式設置,在項目開發(fā)中很有用。例如 10 個按鈕,當前按鈕下一個及下一個的兄弟元素設置不同的顏色。

html 代碼如下:

<div>
    <button>1</button>
    <button>2</button>
    <button>3</button>
    <button>4</button>
    <button class="current">current</button>
    <button>+ button</button>
    <button>~ button</button>
    <button>~ button</button>
    <button>~ button</button>
    <button>~ button</button></div>復制代碼

css 代碼:

.current ~ button {    background-color: #000;    color: #ffffff;
}.current {    background-color: #ff0000;
}.current + button {    background-color: #333;
}復制代碼

效果如下:

接下來設置當前按鈕前面樣式,css 代碼如下:

button {    padding: 10px 15px;    border: 1px solid #444444;    font-size: 14px;    background-color: #ff0000;    color: #000;
}.current {    background-color: #000;    color: #fff;
}.current ~ button {    background: initial;
}.container {    width: 1000px;    margin: 50px auto;    text-align: center;
}復制代碼

效果如下:

10. 寬高比

如果想讓盒子容器有一定的寬高比,如視頻播放器尺寸,可以用幾種方法來實現,其中有一種方法最直觀。可以使用 calc 函數設置頂部填充 (height * width) / 100%

如下,創(chuàng)建一個 720px 寬的 16 x 9 矩形:

html 代碼:

<div class="container">    <div class="box"></div></div>復制代碼

css 代碼:

.container {    width: 720px;
}.box {    padding-top: calc((9 / 16) * 100%);    background: #efefef;
}復制代碼

效果如下

還可以使用 after 偽元素來創(chuàng)建比例大小。

.box::after {    content: "";    display: block;    padding-top: calc((9 / 16) * 100%);    background: #eee;
}復制代碼

上面的方案會導致里面所有的元素都必須向上移動或需要使用絕對定位。不過好消息是,CSS 增加了 aspect-ratio 屬性。

aspect-ratio 為 box 容器規(guī)定了一個期待的縱橫比,這個縱橫比可以用來計算自動尺寸以及為其他布局函數服務。


該文章在 2023/10/28 10:59:53 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業(yè)務管理,結合碼頭的業(yè)務特點,圍繞調度、堆場作業(yè)而開發(fā)的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved