css樣式表屬性

文章目錄

  • css樣式表屬性
    • color
    • background-color
    • font-size
    • font-weight
    • font-family
    • font-style
    • text-decoration
    • text-indent
    • line-height(line-height的概念)
    • width、height
    • letter-spacing
    • text-align
    • direction
    • writing-mode
    • font-variant
    • border-radius
    • opacity
    • cursor
    • vertical-align
    • min-width、max-width
    • overflow
    • margin
    • display
    • list-style
    • 盒子顯示隱藏
    • 背景圖
      • 使用屬性
      • 背景圖和背景顏色混用
      • background
    • outline
    • line-height的概念

css樣式表屬性

對于一個元素,瀏覽器本身是有一套默認的樣式表的,如果服務器端沒有指定,那么就是使用瀏覽器的樣式設置;如果指定了,那么就使用服務器端指定的樣式。瀏覽器的樣式信息如下:
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-i7M3kMnI-1692416019900)(images/browserDefaultCSS.png)]

color

用于設置元素內部文字的顏色,顏色的設置方式:

  • 預設值:一些定義好的單詞,每個單詞都表征一種顏色。
  • 三原色:光學三原色(紅、綠、藍),每個原色可以使用0 - 255之間的數字來表示,一共三個原色,稱之為色值。
    rgb表示法:
    rgb(0, 255, 0, 0.5) -- 順序為紅、綠、藍、透明度,紅綠藍數字為0 - 255,透明度為0 - 1(可以為小數)hex表示法
    #000000            -- 順序紅綠藍,用16進制表示數字0 - 255,這種好像不能表示透明度。
    淘寶紅:#FF4400,當紅綠藍三個數的16進制十位與個位數都相同,那么可以進行縮寫:#F40
    黑色:#000000,#000
    白色:#ff0000,#f00
    

background-color

背景顏色,用于設置元素的背景色

font-size

元素內部文字的大小;如果一個元素沒有字體大小,那么他就繼承父元素的字體大小;如果沒有父元素(html),那么就使用基準字號,基準字號就是瀏覽器中設置的字號。

  • px:像素,簡單的理解為文字的高度占多少個像素。
  • em:相對單位,相對于父元素的字體大小,也就是em值 * 父元素字體大小;他最終顯示會計算為像素進行顯示。

font-weight

文字粗細程度,可以取值數字,可以取值預設值。
這個數值不能亂設,和具體字體有關,如果設置不當就無效果,一般就是使用預設值normalbold

<p style="font-weight: normal">設置font-weight: normal</p>
<p style="font-weight: bold">設置font-weight: bold</p>

strong標簽默認為粗體;

font-family

文字字體,font-family使用如下:

<p style="font-family: 華文楷體">設置font-family: 華文楷體</p>
<p style="font-family: 楷體">設置font-family: 楷體</p>

設置文字字體要正常顯示要注意設置的字體要存在目標主機上,并且對應字體中存在響應的字符,不然瀏覽器忽略字體設置;
可以設置多個字體,這樣瀏覽器會逐個檢測字體是否存在,并且字符是否存在該字體中,如果存在就進行顯示,否則跳過:

<p style="font-family: Consolas,華文楷體,sans-serif">設置font-family: Consolas,華文楷體,sans-serif</p>
<p style="font-family: AR PL UKai HK,Consolas,華文楷體,sans-serif">設置font-family: AR PL UKai HK,Consolas,華文楷體,sans-serif</p>
<p style="font-family: 'AR PL UKai HK',Consolas,華文楷體,sans-serif">設置font-family: 'AR PL UKai HK',Consolas,華文楷體,sans-serif</p>
<p style="font-family: 華文楷體">設置font-family: 華文楷體</p>
<p style="font-family: 楷體">設置font-family: 楷體</p>

最后加上一個sans-serif非襯線字體或者serif襯線字體;他們是字體的兩個大類,并不是表示某個具體的字體,瀏覽器遇到該字體會自動選擇該類字體中的一個字體進行顯示。

font-style

字體樣式,通常用于設置字體傾斜:

<p style="font-style: italic">設置font-style: italic</p>
<p style="font-style: normal">設置font-style: normal</p>

i、em元素默認為斜體;

text-decoration

文本修飾,給文本加線

<p style="text-decoration: line-through">設置text-decoration: line-through</p>
<p style="text-decoration: overline">設置text-decoration: overline</p>
<p style="text-decoration: underline">設置text-decoration: underline</p>
<p><a href="" style="text-decoration: none">鏈接去掉下劃線</a></p>
<p><a href="">鏈接保留下劃線</a></p>

a元素默認加下劃線,del元素、s元素默認是line-through;

text-indent

indent – 縮進,text-indent表示文本縮進,也就是段落中第一行的縮進方式。

<p style="text-indent: 2em">鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線</p>

text-indent設置距離,可以為px,也可以為em,rem,一般使用2em,即首行縮進2個字符。

line-height(line-height的概念)

每行文本占據的高度,該值越大,每行文本的距離越大。

<p style="line-height: 2em">鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線</p>

這個屬性可以實現單行文本的垂直居中(垂直方向居中):

<p style="text-align: center; line-height: 5em; height: 5em; background: #008c8c; color: white;">鏈接保留下劃線鏈接保留下劃線鏈接保留下劃線鏈接保留</p>

上面設置line-height: 5em; height: 5em;一樣,就可以垂直居中(顯示的時候文字默認是垂直居中顯示),text-align: center;是水平居中。

line-height是具有繼承性的,如果直接在某個元素上使用line-height,那么line-height: 1.5em;line-height: 1.5;line-height: 150%;三種寫法是沒有區別的,比如:

p{line-height: 1.5em;}
p{line-height: 1.5;}
p{line-height: 150%;}

最后p顯示的段落行高效果是一樣的,這三種方式的區別在于子元素繼承時的方式,如:

.parent1{font-size:14px;line-height: 1.5em;background: #999;padding:10px
}
.parent2{font-size:14px;line-height: 1.5;background: #999;padding:10px
}
.parent3{font-size:14px;line-height: 150%;background: #999;padding:10px
}
.child{font-size:26px;background: #ccc;
}
  • line-height: 1.5em; 父元素經過計算后(1.5em * font-size),將得到的父元素行高繼承到子元素
  • line-height: 1.5; 父元素直接將這個比例繼承給子元素,然后子元素按照繼承的這個比例去計算自己的行高
  • line-height: 150%;line-height: 1.5em;一樣;
  • line-height: 20px; 直接將20px繼承給子元素;

width、height

box盒子模型中的內容區寬度以及高度的設置,顯示的時候整個元素占據的大小還會有內邊距、邊框和外邊距這幾個屬性的參與。
如果文本數據內容數量在font-size的影響下超過了width、height設置的大小,那么整體上的排版依舊按照width、height進行排版,而文字輸出也會進行輸出,此時就是文字會越過設置的大小,如果此時對應的位置有排版內容,那就會出現文字覆蓋的情況。

letter-spacing

文字間隙,就是文本水平方向的間隔

text-align

元素內部內容水平方向的排列方式,默認靠左排列;
這個和line-height一樣,也會被子元素進行繼承。

  • justify 除最后一行外,分散對齊,最后一行就是左對齊,也就是兩端對齊;
    每一行都分散對齊可以使用::after添加一個width為100%的行塊盒

direction

開始和結束時相對的,該屬性設置的就是開始到結束的方向

writing-mode

font-variant

variant – 變體,可以設置字體變體:

border-radius

邊框弧度

opacity

設置透明度,設置整個元素的透明度,取值范圍0 ~ 1

cursor

設置鼠標樣式,默認auto,讓瀏覽器決定使用什么樣式。
設置后移動到對應區域就會產生鼠標指針變化。
cursor可以設置ico資源:

cursor: url("images/test.ico"), auto;

注意此時:

  1. cursor: url后要加上auto
  2. 圖片應為是32*32的ico格式

vertical-align

指定行內元素(inline)或表格單元格(table-cell)元素的垂直對齊方式。

  • baseline 默認方式,基線對齊基線,這種方式下,行內塊元素中如果沒有數據,直接設置寬高,那么行內塊元素的底邊就會處于基線位置,于是行內塊會看著高出文字一段距離。
  • text-bottom 使元素的底部與父元素的字體底部對齊。

min-width、max-width

最小寬度與最大寬度,最小寬度是針對盒模型說的,瀏覽器是沒有這個最小寬度的概念的,當瀏覽器伸縮為最小寬度,再縮小就會出現橫向滾動條。

overflow

對于內容溢出的元素采取的顯示方案

  • visible 默認方式,直接越界顯示
  • auto 如果沒有內容溢出,就不出現滾動條顯示,如果內容溢出就出現滾動條顯示。

margin

對于塊盒,使用margin: auto;可以實現水平方向的居中,但是無法實現垂直方向的居中,理由如下:

auto的意義是自動填充剩余空間

塊級元素,即便我們設置了寬度,他還是自己占一行,在css的規范中,元素他的左外邊距+左邊框寬度+左內邊距+內容的寬度+右內邊距+右邊框+右外邊距=包含塊的寬度,如果我們給他的左右外邊距設置為auto的時候,他會實現平分剩下的距離,從而達到一個水平居中的效果

但是塊級元素的高度并不會自動擴充(可以在chrome中檢查看到),所以他的外部尺寸是不自動充滿父元素的,也沒有剩余的空間,因此margin上下設置auto不能實現垂直居中‘

可以使用絕對定位進行垂直居中。

display

  • list-item 設置為該屬性值的盒子,本質上仍然是一個塊盒,但同時該盒子會附帶另一個盒子
    元素本身生成的盒子叫做主盒,附帶的盒子稱為次盒子,次盒子和主盒子水平排列(最終的效果就是li元素的效果),以下屬性可以發生繼承。
    • list-style-type 設置次盒子中內容的類型
    • list-style-position 設置次盒子和主盒子的相對位置,默認outside。
    • list-style: none; 清空次盒子

list-style

設置有序列表和無序列表的前面序號的顯示格式

  • list-style-type: decimal;
    設置為數字顯示
  • list-style-position: inside;
    設置到內部顯示

盒子顯示隱藏

  1. display: none; 不生成盒子,此時可能會對排版造成影響。
  2. visibility: hidden; 生成盒子,只是視覺上移除盒子,盒子仍然占據空間。默認為visible。JS可以控制這個來實現閃爍效果;

背景圖

img元素是屬于HTML概念,背景圖屬于css概念;

  1. 當圖片屬于網頁內容時,必須使用img元素
  2. 當圖片僅用于美化頁面時,必須使用背景圖

使用屬性

  1. background-image: url("images/test.png")
    設定背景圖片,背景圖默認情況下會在橫坐標和縱坐標中進行重復

  2. background-repeat: no-repeat;
    設置是否重復

  3. background-size: ;

    • contain 圖片完全顯示在邊框中,保持比例不變,可能會有一些空白
    • cover 圖片撐滿區域,保持比例不變,背景圖可能會有一些丟失
    • auto 以背景圖片的比例縮放背景圖片。
    • 數值或百分比 直接設置背景圖大小,可能會造成圖片壓縮或者伸展,參考img的width設置,設置了width,height應該也會進行相應的等比例調整
      • 只設置一個數值,此次數值設置為width,height為auto,如果設置兩個,那么第二個參數為auto;
  4. background-position
    設置背景圖的位置,默認左上

    • 預設值
    • 數值與百分比
      應用:雪碧圖取圖片:首先將需要的圖片移動到顯示區域左上角,然后設置長和寬。
  5. background-attachment
    通常用該屬性表示圖片是否固定。

    • fixed 固定背景圖在視口上方
  6. background-clip
    設置元素的背景(背景圖片或顏色)是否延伸到邊框、內邊距盒子、內容盒子下面。

    • border-box 背景延伸到邊框
    • padding-box 背景延伸到內邊距盒子
    • content-box 背景延伸到內容盒子
    • text 僅在文字下面顯示背景,搭配color: transparent;有奇效。

背景圖和背景顏色混用

可以混用,然后背景圖沒覆蓋到的地方會由背景顏色填充

background

速寫屬性,background-*對應的值可以直接在background屬性中;
由于background-position和background-size都會出現數字形式,寫在一起會混亂,因此規定,寫的時候先寫位置,后寫大小,而且使用/隔開。

outline

設置外邊框(輪廓),與border的區別就在于外邊框的寬度是不占用類似margin、padding的計算的。但是有個弊端就是他只能同時設置4個邊,不能像border一樣設置某條邊。

outline-offset

當outline默認樣式設置為auto時,該css屬性無效(個人測試發現outline樣式為auto時也有效),當設置了寬度,該屬性意義為outline與border之間的間隔值(默認為0),可以為負數

line-height的概念

基本概念

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JG5kjjst-1692416019901)(images/word.png)]
上面這四條線,從上到下分別是頂線、中線、基線、底線,vertical-align屬性中有top、middle、baseline、bottom;

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6iftUtUF-1692416019901)(images/word_2.png)]

  • 行高(line-height)
    行高是指上下文本行的基線間的垂直距離,即圖中兩條紅線間垂直距離。他包含了兩個部分,一個是字體,一個是行距;
  • 行距
    行距是指一行底線到下一行頂線的垂直距離,即第一行粉線和第二行綠線間的垂直距離。
  • 半行距
    半行距是行距的一半,即區域3垂直距離/2,區域1,2,3,4的距離之和為行高,而區域1,2,4距離之和為字體size,所以半行距也可以這么算:(行高-字體size)/2

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/43501.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/43501.shtml
英文地址,請注明出處:http://en.pswp.cn/news/43501.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【數據結構與算法】十大經典排序算法-歸并排序

&#x1f31f;個人博客&#xff1a;www.hellocode.top &#x1f3f0;Java知識導航&#xff1a;Java-Navigate &#x1f525;CSDN&#xff1a;HelloCode. &#x1f31e;知乎&#xff1a;HelloCode &#x1f334;掘金&#xff1a;HelloCode ?如有問題&#xff0c;歡迎指正&#…

如何用輸入函數為數組賦值

在編寫程序時我們經常使用數組&#xff0c;而數組的大小可能是很大的但是我們并不需要為每個元素都自己賦值&#xff0c;我們可能會自定義輸入數組元素個數&#xff0c;我們應該如何實現通過輸入函數為數組賦值呢&#xff1f; 目錄 第一種&#xff1a; 第二種&#xff1a; 第一…

大數據bug-sqoop(二:sqoop同步mysql數據到hive進行字段限制。)

一&#xff1a;sqoop腳本解析。 #&#xff01;/bin/sh mysqlHost$1 mysqlUserName$2 mysqlUserPass$3 mysqlDbName$4 sql$5 split$6 target$7 hiveDbName$8 hiveTbName$9 partFieldName${10} inputDate${11}echo ${mysqlHost} echo ${mysqlUserName} echo ${mysqlUserPass} ec…

OpenCV之remap的使用

OpenCV中使用remap實現圖像的重映射。 重映射是指將圖像中的某一像素值賦值到指定位置的操作&#xff1a;g(x,y) f ( h(x,y) )&#xff0c; 在這里&#xff0c; g( ) 是目標圖像, f() 是源圖像, 而h(x,y) 是作用于 (x,y) 的映射方法函數。為了完成映射過程, 需要獲得一些插值為…

TypeError: a bytes-like object is required, not ‘str‘

raceback (most recent call last): File "D:\pycharmcode\client.py", line 12, in <module> tcp_socket.send(send_data) TypeError: a bytes-like object is required, not str 使用socket進行ubuntu與windows通信時&#xff0c;發送數據時報了以上錯…

LeetCode 面試題 01.04. 回文排列

文章目錄 一、題目二、C# 題解 一、題目 給定一個字符串&#xff0c;編寫一個函數判定其是否為某個回文串的排列之一。 回文串是指正反兩個方向都一樣的單詞或短語。排列是指字母的重新排列。 回文串不一定是字典當中的單詞。 點擊此處跳轉題目。 示例1&#xff1a; 輸入&…

CSS3:圖片邊框

簡介 圖片也可以作為邊框&#xff0c;以下是實例演示 注意 實現該效果必須添加border樣式&#xff0c;且必須位于border-image-socure之前否則不會生效 實例 <html lang"en"><head><style>p {width: 600px;margin: 200px auto;border: 30px soli…

maven工具-maven的使用-鏡像倉庫、本地倉、IDEA使用maven

Maven 一、為什么使用maven 添加第三方jar包jar包之間的依賴關系處理jar包之間的沖突獲取第三方jar包將項目拆分成多個工程模塊實現項目的分布式部署 二、maven簡介 ? Maven項目對象模型(POM)&#xff0c;可以通過一小段描述信息來管理項目的構建&#xff0c;報告和文檔的…

2023.8 - java - 對象和類

public class Dog {String breed;int size;String colour;int age;void eat() {}void run() {}void sleep(){}void name(){} } 一個類可以包含以下類型變量&#xff1a; 局部變量&#xff1a;在方法、構造方法或者語句塊中定義的變量被稱為局部變量。變量聲明和初始化都是在方…

基于STM32標準庫智能風扇設計

目錄 一&#xff0c;前言 二&#xff0c;系統方案選擇 三&#xff0c;實體展示 工程分類 四&#xff0c;相關代碼 PWM.c PWM.h AD.c AD.h 電機驅動程序 舵機驅動 一&#xff0c;前言 當今生活中&#xff0c;風扇已成為人們解暑的重要工具&#xff0c;然而使用風扇緩解…

CentOS系統環境搭建(九)——centos系統下使用docker部署項目

centos系統環境搭建專欄&#x1f517;點擊跳轉 關于Docker-compose安裝請看CentOS系統環境搭建&#xff08;三&#xff09;——Centos7安裝Docker&Docker Compose&#xff0c;該文章同樣收錄于centos系統環境搭建專欄。 Centos7部署項目 采用前后端分離的形式部署。使用Do…

【Sklearn】基于隨機梯度下降算法的數據分類預測(Excel可直接替換數據)

【Sklearn】基于隨機梯度下降算法的數據分類預測(Excel可直接替換數據) 1.模型原理2.模型參數3.文件結構4.Excel數據5.下載地址6.完整代碼7.運行結果1.模型原理 隨機梯度下降(Stochastic Gradient Descent,SGD)是一種優化算法,用于訓練模型的參數以最小化損失函數。在分…

QT學習筆記-QT5.15編譯及安裝谷歌拼音輸入法(QtInputMethod_GooglePinyin)

QT學習筆記-QT5.15編譯及安裝谷歌拼音輸入法&#xff08;QtInputMethod_GooglePinyin&#xff09; 0、背景1、環境2、下載QtInputMethod_GooglePinyin源碼3、使用MinGW64構建套件編譯3.1 編譯QtInputMethod_GooglePinyin源碼3.2、部署tgtsmlInputContextPlugin輸入法插件3.3、運…

Lombok注解在JSON化中,JSON生成額外生成字段問題

問題描述&#xff1a; 定義如下對象 Dataclass A{private String A;public String getC() {return "abab";}} 執行如下邏輯 Autowiredprivate ObjectMapper objectMapper;Testpublic void test4() throws Exception {A a new A();a.setA("a");System.ou…

分布式 - 服務器Nginx:一小時入門系列之負載均衡

文章目錄 1. 負載均衡2. 負載均衡策略1. 輪詢策略2. 最小連接策略3. IP 哈希策略4. 哈希策略5. 加權輪詢策略 1. 負載均衡 跨多個應用程序實例的負載平衡是一種常用技術&#xff0c;用于優化資源利用率、最大化吞吐量、減少延遲和確保容錯配置。?使用 nginx 作為非常有效的HT…

【MySQL】如何使用Shared-memory協議(Windows)連接MySQL數據庫

文章目錄 【MySQL】如何使用Shared-memory協議(Windows)連接MySQL數據庫連接MySQL的協議使用Shared-memory協議(Windows)連接MySQL步驟1&#xff1a;確認MySQL服務器已啟用Shared-memory連接啟動Shared-memory連接方法 步驟2&#xff1a;客戶端使用shared-memory連接MySQL服務器…

神經網絡基礎-神經網絡補充概念-55-為什么是ML策略

“ML策略”&#xff08;Machine Learning Strategies&#xff09;是指在解決機器學習問題時&#xff0c;采取的一系列方法、技巧和策略。選擇適當的ML策略對于獲得高質量的模型和結果非常重要。以下是為什么要考慮ML策略的一些原因&#xff1a; 問題適應性&#xff1a;不同的機…

2023 最新版網絡安全保姆級指南,從 0 基礎進階網絡攻防工程師

一、網絡安全學習的誤區 1.不要試圖以編程為基礎去學習網絡安全 不要以編程為基礎再開始學習網絡安全&#xff0c;一般來說&#xff0c;學習編程不但學習周期長&#xff0c;且過渡到網絡安全用到編程的用到的編程的關鍵點不多。一般人如果想要把編程學好再開始學習網絡安全往…

Vue實例生命周期中的所有鉤子函數

在 Vue 3 中&#xff0c;實例生命周期的鉤子函數被整合為了兩個主要的階段&#xff1a;Composition API 階段和 Options API 階段。下面是 Vue 3 中的所有生命周期鉤子函數&#xff1a; Composition API 階段&#xff1a; setup //在組件實例創建之前執行&#xff0c;用于設…

centos 之安裝 openssl 1.1.1報錯

源碼make時報錯&#xff0c;可能是系統的perl的版本太低問題。 [rootlocalhost ~]# cpan -a | grep Test::More Test::More 0.92 1.302171 EXODIST/Test-Simple-1.302171.tar.gz [rootlocalhost ~]# cpan -a | grep Text::Template [rootlocalhost ~]# …