主頁 > 企業開發 > WEB之CSS系列筆記

WEB之CSS系列筆記

2020-09-30 21:14:38 企業開發

WEB之CSS系列筆記

CSS,通常稱為CSS樣式表或層疊樣式表(級聯樣式表),主要用于設定HTML頁面中的文本內容(字體、大小、對齊方式等)、圖形的外形(寬高、邊框樣式、邊距等)以及版面布局和外觀顯示樣式,

引入CSS樣式表

行內式(行內樣式)

稱行內樣式、行間樣式.
是通過標簽的style屬性來設定元素的樣式
  • 基本語法如下:

    <標簽名 style="屬性1:屬性值1;屬性2:屬性值2;屬性3:屬性值3">內容</標簽名>
    

任何擁有HTML標簽都擁有style屬性,用來設定行內式,

  • 注意:
    • style其實就是標簽的屬性
    • 樣式屬性和值之間是 ':'
    • 多組屬性之間用 ';'隔開,
    • 只能控制當前標簽及嵌套在其中的標簽

內部樣式表(內嵌樣式表)

稱內嵌式
是將CSS代碼集中卸載HTML檔案的head頭部標簽中,并且用style標簽定義,
  • 語法基本語法格式如下:

    <head>
        <style type="text/css">
            選擇器(選擇的標簽) {
                屬性1:屬性值1;
                屬性2:屬性值2;
                屬性3:屬性值3;
            }
        </style>
    </head>
    
    • 注意:
      • style標簽一般位于head標簽中,當然理論上他可以放在HTML檔案的任何地方,
      • type="text/css" 在html5中可以省略,
      • 只能控制當前的頁面

外部樣式表(外鏈式)

稱鏈入式
是將所有的樣式放在一個或多個以上.css為擴展名的外部樣式表檔案中,通過link標簽將外部樣式表檔案鏈接到HTML檔案中,

其基本語法格式如下:

<head>
    <link rel="stylesheet" type="text/css" href="https://www.cnblogs.com/Hac-Zhang/p/css檔案路徑"
</head>
  • 注意 :

    • link 是個單標簽
    • link標簽需要放在head頭部標簽中,并且指定link標簽的三個屬性,
    屬性 作用
    rel 定義當前檔案與被鏈接檔案之間的關系,在這里需要指定為“stylesheet”,表示被鏈接的檔案是一個樣式表檔案,
    type 定義所鏈接檔案的型別,在這里需要指定為“text/CSS”,表示鏈接的外部檔案為CSS樣式表,我們都可以省略
    href 定義所鏈接外部樣式表檔案的URL,可以是相對路徑,也可以是絕對路徑,

三種樣式表總結(位置)

樣式表 優點 缺點 使用情況 控制范圍
行內樣式表 書寫方便,權重高 沒有實作樣式和結構相分離 較少 控制一個標簽(少)
內部樣式表 部分結構和樣式相分離 沒有徹底分離 較多 控制一個頁面(中)
外部樣式表 完全實作結構和樣式相分離 需要引入 最多 控制多個站點(多)

CSS選擇器

選擇器能找到特定的HTNL頁面元素

CSS基礎選擇器

標簽選擇器(元素選擇器)是指用HTNL標簽名稱作為選擇器,按標簽名稱分類,為頁面中某一類標簽指定同意的CSS樣式,
  • 語法:

    標簽名{
    	屬性1:屬性值1; 
    	屬性2:屬性值2; 
    	屬性3:屬性值3; 
    }
    
  • 作用:

    標簽選擇器 可以把某一類標簽全部選擇出來 比如所有的div標簽 和 所有的 是span標簽

CSS類選擇器

類選擇器使用"."進行標識, 后面緊跟類名,

  • 語法:

    • 型別選擇器

      .類名  {   
          屬性1:屬性值1; 
          屬性2:屬性值2; 
          屬性3:屬性值3;     
      }
      
    • 標簽

      <p class='類名'></p>
      
    • 注意

      • 類選擇器使用“.”(英文點號)進行標識,后面緊跟類名(自定義,我們自己命名的)
      • 長名稱或詞組可以使用中橫線來為選擇器命名,
      • 不要純數字、中文等命名, 盡量使用英文字母來表示,
  • 類選擇器特殊用法-多類名

    可以給標簽指定多個類名, 從而達到跟過的選擇目的,

    <div >文字</div>
    
    • 注意: 多個類名中間用空格隔開

id選擇器

id選擇器使用 # 進行標識, 后面緊跟id名,

  • 基本語法

    • id選擇器

      #id名 {屬性1:屬性值1;屬性2:屬性值2; 屬性3:屬性值3; }
      
    • 標簽

      <p id="id名"></p>
      
    • 注意:

      • 元素的id值是唯一的,只能對應于檔案中某一個具體的元素,
      • 用法基本和類選擇器相同,
  • id選擇器和類選擇器區別

    ? W3C標準規定, 在同一個頁面內,不允許有相同名字的id物件出現,但是允許相同名字的class,

通配符選擇器

通配符選擇器用 * 號表示, * 就是 選擇所有的標簽 他是所有選擇器中做喲個范圍最廣的,能匹配頁面中所有的元素,

  • 基本語法:

    * {
    	屬性1:屬性值1; 
    	屬性2:屬性值2; 
    	屬性3:屬性值3;
    }
    

    例(清除所有HTML標記的默認邊距):

    * {
    	margin: 0;		/* 定義外邊距 */
    	padding: 0;		/* 定義內邊距 */	
    }
    

基礎選擇器總結

選擇器 作用 缺點 使用情況 用法
標簽選擇器 可以選出所有相同的標簽,比如p 不能差異化選擇 較多 p { color:red;}
類選擇器 可以選出1個或者多個標簽 可以根據需求選擇 非常多 .nav { color: red; }
id選擇器 一次只能選擇器1個標簽 只能使用一次 不推薦使用 #nav {color: red;}
通配符選擇器 選擇所有的標簽 選擇的太多,有部分不需要 不推薦使用 * {color: red;}

復合選擇器

后代選擇器

后代選擇器又稱為包含選擇器,其寫法就是把外層標簽寫在前面,內層標簽寫在后面,中間用空格分隔,先寫父親爺爺,在寫兒子孫子,

父級 子級 {
	屬性: 屬性值;
	屬性: 屬性值;
}
.class h3 {
	color: red;
	font-size: 16px;
}
  • 當標簽發生嵌套時,內層標簽就成為外層標簽的后代,
  • 子孫后代都可以這么選擇, 或者說,它能選擇任何包含在內 的標簽,

子元素選擇器

子元素選擇器只能選擇作為某元素子元素的元素,

.class>h3 {
    color:red;
    font-size:14px;
}

交集選擇器

交集選擇器由兩個選擇器構成,找到的標簽必須滿足:既有標簽一的特點,也有標簽二的特點,

h3.class {
	color: red;
	font-size: 25px;
}

其中第一個為標簽選擇器,第二個為class選擇器,兩個選擇器之間不能有空格,如h3.sp,

并集選擇器

如果某些選擇器定義的相同樣式,就可以利用并集選擇器,可以讓代碼更簡潔,

.class,
h3 {
	color: red;
	font-size: 25px;
}
  • 任何形式的選擇器(包括標簽選擇器、class類選擇器id選擇器等),都可以作為并集選擇器的一部分,

鏈接偽類選擇器

用于向某些選擇器添加特殊的效果,比如給鏈接添加特殊效果, 比如可以選擇 第1個,第n個元素,

- a:link      /* 未訪問的鏈接 */
- a:visited   /* 已訪問的鏈接 */
- a:hover     /* 滑鼠移動到鏈接上 */
- a:active    /* 選定的鏈接 */
  • 寫的時候,他們的順序盡量不要顛倒 按照 lvha 的順序,否則可能引起錯誤,

復合選擇器總結

選擇器 作用 特征 使用情況 隔開符號及用法
后代選擇器 用來選擇元素后代 是選擇所有的子孫后代 較多 符號是空格 .nav a
子代選擇器 選擇 最近一級元素 只選親兒子 較少 符號是> .nav>p
交集選擇器 選擇兩個標簽交集的部分 既是 又是 較少 沒有符號 p.one
并集選擇器 選擇某些相同樣式的選擇器 可以用于集體宣告 較多 符號是逗號 .nav, .header
鏈接偽類選擇器 給鏈接更改狀態 較多 重點記住 a{} 和 a:hover 實際開發的寫法

CSS字體樣式屬性除錯工具

font 字體

font-size: 大小

font-size 屬性用于設定字號

p {
	font-size: 20px;
}
  • 單位:
    • 可以使用相對長隊單位,也可以使用絕對長度單位,
    • 相對長度單位比較常用,推薦使用像素單位px, 絕對長度單位使用較少,

相對長度單位 說明
em 相對于當前物件內文字的字體尺寸
px 像素, 最常用
絕對長度單位 說明
in 英寸
cm 厘米
mm 毫米
pt
  • 注意:
    • 谷歌瀏覽器默認的文字大小為16px
    • 不用瀏覽器默認顯示的字號大小不一致,我們盡量給一個明確值大小, 不要默認大小,一般給body指定整個頁面字體大小,

font-family:字體

font-family 屬性用于設定哪種字體

p {
	font-family:"微軟雅黑";
}
  • 網頁中常用的字體有宋體、微軟雅黑、黑體等,例如將網頁中所有段落文本字體設定為微軟雅黑,

  • 可以同時指定多個字體,中間以逗號隔開, 表示如果瀏覽器不支持第一個字體,則會嘗試下一個,直到找到合適的字體,如果都沒有,則以電腦默認的字體為準,

    p {
    	font-family: Arial, "Microsoft yahei", "微軟雅黑"
    }
    
    • 注意:
      • 各種字體之間必須使用英文狀態下的逗號隔開,
      1. 中文字體需要加英文狀態下的引號,英文字體一般不需要加引號,當需要設定英文字體時,英文字體名必須位于中文字體名之前,
      2. 如果字體名中包含空格、#、$等符號,則該字體必須加英文狀態下的單引號或雙引號,例如font-family: "Times New Roman";,
      3. 盡量使用系統默認字體,保證在任何用戶的瀏覽器中都能正確顯示,
  • CSS Unicode字體

    在 CSS 中設定字體名稱,直接寫中文是可以的,但是在檔案編碼(GB2312、UTF-8 等)不匹配時會產生亂碼的錯誤,

    • 解決方案

      在 CSS 直接使用 Unicode 編碼來寫字體名稱可以避免這些錯誤,使用 Unicode 寫中文字體名稱,瀏覽器是可以正確的決議的,

      font-family: "\5FAE\8F6F\96C5\9ED1";   
      /*表示設定字體為“微軟雅黑”,*/
      
      字體名稱 英文名稱 Unicode 編碼
      宋體 SimSun \5B8B\4F53
      新宋體 NSimSun \65B0\5B8B\4F53
      黑體 SimHei \9ED1\4F53
      微軟雅黑 Microsoft YaHei \5FAE\8F6F\96C5\9ED1
      楷體_GB2312 KaiTi_GB2312 \6977\4F53_GB2312
      隸書 LiSu \96B6\4E66
      幼園 YouYuan \5E7C\5706
      華文細黑 STXihei \534E\6587\7EC6\9ED1
      細明體 MingLiU \7EC6\660E\4F53
      新細明體 PMingLiU \65B0\7EC6\660E\4F53

font-weoght: 字體粗細

  • 在html中設定加粗可以用標簽來實作,

  • 可以使用CSS來實作,但是CSS是沒有語意的,

    屬性值 描述
    normal 默認值(不加粗的)
    bold 定義粗體(加粗的)
    100~900 400 等同于 normal,而 700 等同于 bold 我們重點記住這句話

font-style : 字體風格

  • 在html中設定斜體可以用標簽來實作,

  • 可以使用CSS來實作,但是CSS是沒有語意的,

    屬性 作用
    normal 默認值,瀏覽器會顯示標準的字體樣式 font-style: normal;
    italic 瀏覽器會顯示斜體的字體樣式,

font:綜合設定字體樣式

  • 基本語法:

    選擇器 {
    	font: font-style  font-weight  font-size/line-height  font-family;
    }
    
  • 注意

    • 使用font屬性時,必須按上面的語法格式中的順序書寫,不能更換順序, 各個屬性以空格隔開,
    • 其中不需要設定的屬性可以省略(取默認值), 但必須保留fint-size和font-family屬性, 否則font屬性將不起作用,

font總結

屬性 表示 注意點
font-size 字號 我們通常用的單位是px 像素,一定要跟上單位
font-family 字體 實際作業中按照團隊約定來寫字體
font-weight 字體粗細 記住加粗是 700 或者 bold 不加粗 是 normal 或者 400 記住數字不要跟單位
font-style 字體樣式 記住傾斜是 italic 不傾斜 是 normal 作業中我們最常用 normal
font 字體連寫 1. 字體連寫是有順序的 不能隨意換位置 2. 其中字號 和 字體 必須同時出現

CSS外觀屬性

color: 文本顏色

  • color屬性用于定義文本的顏色

  • 取值方式:

    表示表示 屬性值
    預定義的顏色值 red,green,blue等
    十六進制 #FF0000,#FF6600,#29D794
    RGB代碼 rgb(255,0,0)或rgb(100%,0%,0%)
    • 十六進制顏色可以簡寫,

text-align: 文本水平對齊方式

  • 作用:

    text-align屬性用于設定文本內容的水平對齊, 相當于HTML中的align對齊屬性

  • 其可用屬性值:

    屬性 解釋
    left 左對齊(默認值)
    right 右對齊
    center 居中對齊
    • 是讓盒子內的內容水平居中, 而不是讓盒子居中對齊,

line-height:行間距

  • 作用

    line-height屬性用與設定行間距, 就是行與行之間的距離,即字符的垂直間距, 一般稱為行高

  • 單位

    ine-height常用的屬性值單位有三種,分別為像素px,相對值em和百分比%

  • 一般情況下,行距比字號大7.8像素左右就可以了,

    line-height: 24px;
    

text-indent: 首行縮進

  • 作用:

    text-indent屬性用于設定首行文本的縮進

  • 屬性值

    • 其屬性值可為不同單位的數值、em字符寬度的倍數、或相對于瀏覽器視窗寬度的百分比%,允許使用負值,
    • 建議使用em作為設定單位,

    1em就是一個字的寬度 如果是漢字的段落,1 em 就是一個漢字的寬度

    p {
    	/*行間距*/
    	line-height: 25px;
    	/*首行縮進2個位元組*/
    	text-indent: 2em;
    }
    

text-decitation 文本的裝飾

text-decoration 通常我們用于給鏈接修改裝飾效果

描述
none 默認,定義標準的文本, 取消下劃線(最常用)
underline 定義文本下的一條線,下劃線 也是我們鏈接自帶的(常用)
overline 定義文本上的一條線,(不用)
line-through 定義穿過文本下的一條線,(不常用)

CSS外觀屬性總結

屬性 表示 注意點
color 顏色 我們通常用 十六進制 比如 而且是簡寫形式 #fff
line-height 行高 控制行與行之間的距離
text-align 水平對齊 可以設定文字水平的對齊方式
text-indent 首行縮進 通常我們用于段落首行縮進2個字的距離 text-indent: 2em;
text-decoration 文本修飾 記住 添加 下劃線 underline 取消下劃線 none

標簽顯示模式(display)

HTML標簽一般分為塊標簽和行內標簽兩種型別,它們也稱塊元素和行內元素,

塊級元素(block)

常見的塊元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>標簽是最典型的塊元素,
  • 塊級元素的特點
    1. 獨占一行,
    2. 高度, 寬度,外邊距以及內邊距都可以控制,
    3. 寬度默認是容器的100%,
    4. 是一個容器,里面可以放行內或塊級元素,
  • 注意
    • 只有文字才能組成段落, 因此 p 內不能放塊級元素, 特別是 p 不能放 div
    • 同理h1-h6,dt, 它們都是文字類塊級標簽, 里面不能放其它塊級元素

行內元素(inline)

常見的行內元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>等,其中<span>標簽最典型的行內元素,有的地方也成行內元素
  • 行內元素的特點:
    1. 相鄰行內元素在一行上,一行可以顯示多個,
    2. 高、款直接設定是無效的,
    3. 默認寬度就是它本身內容的寬度,
    4. 行內元素只能容納文本或其它行內元素,
  • 注意:
    • 鏈接內不能再放鏈接
    • 特殊情況a里面可以放塊級元素, 但是給a轉換一下塊級模式最安全,

行內塊元素(inline-block)

在行內元素中有幾個特殊的標簽——<img />、<input />、<td>,可以對它們設定寬高和對齊屬性,有些資料可能會稱它們為行內塊元素,
  • 特點:
    1. 和相鄰行內元素(行內塊) 在一行上, 但是之間會有空白縫隙,一行可以顯示多個,
    2. 默認寬度就是它本身內容的寬度,
    3. 高度, 行高, 外邊距以及內邊距都可以控制,

三種模式總結區別

元素模式 元素排列 設定樣式 默認寬度 包含
塊級元素 一行只能放一個塊級元素 可以設定寬度高度 容器的100% 容器級可以包含任何標簽
行內元素 一行可以放多個行內元素 不可以直接設定寬度高度 它本身內容的寬度 容納文本或則其他行內元素
行內塊元素 一行放多個行內塊元素 可以設定寬度和高度 它本身內容的寬度

標簽顯示模式轉換 display

  • 塊轉行內: display: inline;
  • 行內轉塊: display: block;
  • 塊、行內元素轉換為行內塊:diaplay: inline-block;

行高(line-height)

英文和漢字 內有 頂線, 中線, 基線, 底線, 行高測量: 為兩行中基線與基線的距離為行高,

  • 單行文字垂直居中

    文字的行高等于盒子的高度,

  • 行高 = 上距離 + 內容高度 + 下距離

  • 行高和高度的三種關系

    • 如果 行高 等 高度 文字會 垂直居中
    • 如果行高 大于 高度 文字會 偏下
    • 如果行高小于高度 文字會 偏上

CSS背景(background)

背景顏色(backgroung-color)

background-color: 顏色值;  
/* 默認的值是 transparent  透明的 */

背景圖片(image)

background-image: none | url( url )
引數 作用
none 無背景圖(默認的)
url 使用絕對或相對地址指定背景影像
background-image: url(images/demo.png);

背景平鋪(repect)

background-repect: repeat | no-repeat | repeat-x | repeat-y
引數 作用
repeat 背景影像在縱向和橫向上平鋪(默認的)
no-repeat 背景影像不平鋪
repeat-x 背景影像在橫向上平鋪
repeat-y 背景影像在縱向平鋪

背景位置(position)

background-position : length || length

background-position : position || position 
引數
length 百分數 | 由浮點數字和單位識別符號組成的長度值
position top | center | bottom | left | center | right 方位名詞
  • 注意:
    • 必須先指定background-image屬性
    • position 后面是x坐標和y坐標, 可以使用方位名詞或者 精確單位,
    • 如果指定兩個值,兩個值都是方位名字,則兩個值前后順序無關,比如left top和top left效果一致
    • 如果只指定了一個方位名詞,另一個值默認居中對齊,
    • 如果position 后面是精確坐標, 那么第一個,肯定是 x 第二的一定是y
    • 如果只指定一個數值,那該數值一定是x坐標,另一個默認垂直居中
    • 如果指定的兩個值是 精確單位和方位名字混合使用,則第一個值是x坐標,第二個值是y坐標

背景附著(attachment)

背景附著就是解釋背景是滾動的還是固定的

background-attachment: scroll | fixed
引數 作用
scroll 背景影像是隨物件內容滾動
fixed 背景影像固定

背景簡寫

  • background:屬性的值的書寫順序官方并沒有強制標準的,為了可讀性,建議大家如下寫:

  • background: 背景顏色 背景圖片地址 背景平鋪 背景滾動 背景位置;

    background: transparent url(image.jpg) repeat-y  scroll center top ;
    

背景透明(CSS3 rgba)

background: rgba(0,0,0,.3);
  • 最后一個引數是alpha 透明度 取值范圍 0~1之間
  • 我們習慣把0.3 的 0 省略掉 這樣寫 background: rgba(0, 0, 0, .3);
  • 注意: 背景半透明是指盒子背景半透明, 盒子里面的內容不受影響
  • 因為是CSS3 ,所以 低于 ie9 的版本是不支持的,

背景總結

屬性 作用
background-color 背景顏色 預定義的顏色值/十六進制/RGB代碼
background-image 背景圖片 url(圖片路徑)
background-repeat 是否平鋪 repeat/no-repeat/repeat-x/repeat-y
background-position 背景位置 length/position 分別是x 和 y坐標, 切記 如果有 精確數值單位,則必須按照先X 后Y 的寫法
background-attachment 背景固定還是滾動 scroll/fixed
背景簡寫 更簡單 背景顏色 背景圖片地址 背景平鋪 背景滾動 背景位置; 他們沒有順序
背景透明 讓盒子半透明 background: rgba(0,0,0,0.3); 后面必須是 4個值

CSS 三大特性

CSS層疊性

所謂層疊性是指多種CSS樣式的疊加,

是瀏覽器處理沖突的一個能力,如果一個屬性通過兩個相同選擇器設定到同一個元素上,那么這個時候一個屬性就會將另一個屬性層疊掉

  • 樣式沖突,遵循的原則是就近原則, 那個樣式離著結構近,就執行那個樣式,
  • 樣式不沖突,不會層疊

CSS繼承性

子標簽會繼承父標簽的某些樣式,如文本顏色和字號,

想要設定一個可繼承的屬性,只需將它應用于父元素即可,

  • 注意
    • 恰當地使用繼承可以簡化代碼,降低CSS樣式的復雜性,比如有很多子級孩子都需要某個樣式,可以給父級指定一個,這些孩子繼承過來就好了,
    • 子元素可以繼承父元素的樣式(text-,font-,line-這些元素開頭的可以繼承,以及color屬性

CSS優先級

定義CSS樣式時,經常出現兩個或更多規則應用在同一元素上,此時,

  • 選擇器相同,則執行層疊性
  • 選擇器不同,就會出現優先級的問題,

權重計算

關于CSS權重,我們需要一套計算公式來去計算,這個就是 CSS Specificity(特殊性)

標簽選擇器 計算權重公式
繼承或者 * 0,0,0,0
每個元素(標簽選擇器) 0,0,0,1
每個類,偽類 0,0,1,0
每個ID 0,1,0,0
每個行內樣式 style="" 1,0,0,0
每個!important 重要的 ∞ 無窮大
  • 值從左到右,左面的最大,一級大于一級,數位之間沒有進制,級別之間不可超越,

    div {
        color: pink!important;  
    }
    

權重疊加

我們經常用交集選擇器,后代選擇器等,是有多個基礎選擇器組合而成,那么此時,就會出現權重疊加,

  • 例如:

    • div ul li ------> 0,0,0,3
    • .nav ul li ------> 0,0,1,2
    • a:hover -----—> 0,0,1,1
    • .nav a ------> 0,0,1,1
  • 注意:

    數位之間沒有進制 比如說: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不會存在10個div能趕上一個類選擇器的情況,

繼承的權重是 0

我們修改樣式,一定要看該標簽有沒有被選中,

  • 如果選中了,那么以上面的公式來計權重,誰大聽誰的,
  • 如果沒有選中,那么權重是0,因為繼承的權重為0.

盒子模型

所謂盒子模型:

就是把HTML頁面中的布局元素看作是一個矩形的盒子,也就是一個盛裝內容的容器,

  • 盒子模型有元素的內容、邊框(border)、內邊距(padding)、和外邊距(margin)組成,
  • 盒子里面的文字和圖片等元素是 內容區域
  • 盒子的厚度 我們成為 盒子的邊框
  • 盒子內容與邊框的距離是內邊距(類似單元格的 cellpadding)
  • 盒子與盒子之間的距離是外邊距(類似單元格的 cellspacing)

盒子邊框(border)

border: border-width  || border-style  || border-color
屬性 作用
border-width 定義邊框粗細,單位是px
border-style 邊框的樣式
border-color 邊框顏色
  • 邊框的樣式:
    • none: 沒有比那狂即忽略所有邊框的寬度(默認值)
    • solid: 邊框為單實線(常用)
    • dashed: 邊框為虛線
    • dotted: 邊框為點線

邊框綜合設定

border: border-width  || border-style  || border-color
/* 例如 */
border: 1px solid red; /* 沒有順序 */

盒子邊框寫法總結表

上邊框 下邊框 左邊框 右邊框
border-top-style:樣式; border-bottom-style:樣式; border-left-style:樣式; border-right-style:樣式;
border-top-width:寬度; border- bottom-width:寬度; border-left-width:寬度; border-right-width:寬度;
border-top-color:顏色; border- bottom-color:顏色; border-left-color:顏色; border-right-color:顏色;
border-top:寬度 樣式 顏色; border-bottom:寬度 樣式 顏色; border-left:寬度 樣式 顏色; border-right:寬度 樣式 顏色;

表格的細線邊框

  • 通過表格的 cellspaceing="0", 將單元格與單元格之間的距離設定為0

  • 但是兩個單元格之間的邊框會出現重疊, 從而使邊框變粗

  • 通過css屬性設定:

    table {
    	border-collapse: collapse;
    }
    
    • collapse 為合并的意思
    • border-collapse: collapse; 表示相鄰邊框合并在一起,
    <style>
    	table {
    		width: 500px;
    		height: 300px;
    		border: 1px solid red;
    	}
    	td {
    		border: 1px solid red;
    		text-align: center;
    	}
    	table, td {
    		border-collapse: collapse;  /*合并相鄰邊框*/
    	}
    </style>
    

內邊距(padding)

padding屬性用于設定內邊距,是指 邊框與內容之間的距離,

屬性 作用
padding-left 左內邊距
padding-right 右內邊距
padding-top 上內邊距
padding-bottom 下內邊距
  • 當我們給盒子指定padding值之后, 發生了2件事:
    • 內容和邊框 有了距離, 添加了內邊距,
    • 盒子會變大了,
  • 注意
    • 如果沒有給一個盒子指定寬度, 此時,如果給這個盒子指定padding, 則不會撐開盒子,

padding合寫

值的個數 表達意思
1個值 padding:上下左右內邊距;
2個值 padding: 上下內邊距 左右內邊距 ;
3個值 padding:上內邊距 左右內邊距 下內邊距;
4個值 padding: 上內邊距 右內邊距 下內邊距 左內邊距 ;

內盒尺寸計算 (元素實際大小)

  • 寬度

    Element Height = content height + padding + border (Height為內容高度)

  • 高度

    Element Width = content width + padding + border (Width為內容寬度)

  • 盒子的實際的大小 = 內容的寬度和高度 + 內邊距 + 邊框

外邊距(margin)

外邊距

margin屬性用于設定外邊距, margin就是控制盒子與盒子之間的距離

屬性

屬性 作用
margin-left 左外邊距
margin-right 右外邊距
margin-top 上外邊距
margin-bottom 下外邊距

margin值的簡寫 (復合寫法)代表意思 跟 padding 完全相同,

塊級盒子水平居中

  • 可以讓一個塊級盒子實作水平居中:

    • 盒子必須指定了寬度(width),
    • 然后就給1左右的外邊距都設定為auto,
  • 例如:

    .header {
    	width: 960px;
    	margin: 0 auto;
    }
    

    常見的寫法

    * margin-left: auto;   margin-right: auto;
    * margin: auto;
    * margin: 0 auto;
    

文字居中與盒子居中的區別

  1. 盒子內的文字水平居中是 text-align: center, 而且還可以讓 行內元素和行內塊居中對齊

  2. 塊級盒子水平居中 左右margin 改為 auto

    text-align: center; /*  文字 行內元素 行內塊元素水平居中 */
    margin: 10px auto;  /* 塊級盒子水平居中  左右margin 改為 auto 就闊以了 上下margin都可以 */
    

插入圖片和背景圖片區別

  1. 插入圖片 我們用的最多 比如產品展示類 移動位置只能靠盒模型 padding margin

  2. 背景圖片我們一般用于小圖示背景 或者 超大背景圖片 背景圖片 只能通過 background-position

     img {  
    		width: 200px;/* 插入圖片更改大小 width 和 height */
    		height: 210px;
    		margin-top: 30px;  /* 插入圖片更改位置 可以用margin 或padding  盒模型 */
    		margin-left: 50px; /* 插入當圖片也是一個盒子 */
    	}
    
     div {
    		width: 400px;
    		height: 400px;
    		border: 1px solid purple;
    		background: #fff url(images/sun.jpg) no-repeat;
    		background-position: 30px 50px; /* 背景圖片更改位置 我用 background-position */
    	}
    

清楚元素的默認內外邊距

為了更靈活方便地控制網頁中的元素,制作網頁時,我們需要將元素的默認內外邊距清除

* {
	padding: 0;
	margin: 0;
}
  • 注意:

    行內元素為了照顧兼容性, 盡量只設定左右內外邊距, 不要設定上下內外邊距,

外邊距合并

使用margin定義塊元素的垂直外邊距時, 可能出現外邊距的合并,

  • 相鄰塊元素垂直外邊距的合并
    • 當上下相鄰的兩個塊元素相遇時, 如果上面的元素有下外邊距margin-bottom
    • 下面的元素有上邊距margin-top, 則它們之間的垂直間距不是margin-bottom與margin-top之和
    • 取兩個值中的較大者這種現象被稱為相鄰塊元素垂直外邊距的合并(也成為外邊距塌陷)
  • 嵌套塊元素垂直外邊距的合并(塌陷)
    • 對于兩個嵌套關系的塊元素, 如果發元素沒有上內邊距及邊框
    • 父元素的上外邊距會與子元素的上外邊距發生合并
    • 合并后的外邊距為兩者中的較大者

盒子模型布局穩定性

按照 優先使用 寬度 (width) 其次 使用內邊距(padding) 再次 外邊距(margin),

  width >  padding  >   margin   
  • 原因:
    • margin 會有外邊距合并 還有IE6一下margin 加倍的bug 最后使用,
    • padding 會影響盒子大小, 需要進行加減計算 其次使用,
    • width 沒有問題 我們經常使用寬度剩余法 高度剩余法來做,

去掉串列默認的樣式

無序和有序串列前面默認的串列樣式, 在不同瀏覽器顯示效果不同, 所以一般會去掉這些串列樣式,

li {
	list-style: none;
}

圓角邊框(CSS3)

border-radius: length;
  • 其中每一個值可以為 數值或百分比的形式,

  • 可以讓一個正方形 變成圓圈

    border-radius:50%;
    
  • 如果為矩形的圓角, 就不要用百分比了, 因為百分比會是表示高度和寬度的一般,

  • 這里矩形就只用高度的一半就號, 精確單位,

盒子陰影(CSS3)

box-shadow: 水平陰影 垂直陰影 模糊距離(虛實)  陰影尺寸(影子大小)  陰影顏色  內/外陰影
描述
h-shadow 必需,水平陰影的位置,允許負值,
v-shadow 必需,垂直陰影的位置,允許負值,
blur 可選,模糊距離,
spread 可選,陰影的尺寸,
color 可選,陰影的顏色,
inset 可選,將外部陰影(outset)改為內部陰影,
  • 前面兩個屬性是必須寫的,其余的可以省略,

  • 外陰影(outset)是默認的 但是不能寫 outset 想要內陰影可以寫 inset

    div {
    	width: 200px;
    	height: 200px;
    	border: 10px soild red;
    	/* box-shadow: 5px 5px 3px 4px rgba(0,0,0,.4); */
    	/* box-shadow: 水平位置 垂直位置 模糊距離 陰影尺寸(影子大小) 陰影顏色 內/外陰影; */
    	box-shadow: 0 15px 30px rgba(0,0,0,.4);
    }
    

浮動(float)

CSS布局的三種機制

網頁布局的核心---就是用CSS來擺放盒子,

CSS 提供了 3 種機制來設定盒子的擺放位置,分別是普通流(標準流)、浮動定位,其中:

  1. 普通流(標準流)
    • 塊級元素會獨占一行,從上向下順序排列;
      • 常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table
    • 行內元素會按照順序,從左到右順序排列,碰到父元素邊緣則自動換行;
      • 常用元素:span、a、i、em等
  2. 浮動
    • 讓盒子從普通流中起來,主要作用讓多個塊級盒子一行顯示,
  3. 定位
    • 將盒子在瀏覽器的某一個置——CSS 離不開定位,特別是后面的 js 特效,

概念及作用

概念:元素的浮動是指設定了浮動屬性的元素

  1. 脫離標準普通流的控制
  2. 移動到指定位置,

作用

  1. 讓多個盒子(div)水平排列成一行,使得浮動成為布局的重要手段,
  2. 可以實作盒子的左右對齊等等..
  3. 浮動最早是用來控制圖片,實作文字環繞圖片的效果
選擇器 {
	float: 屬性值;
}
屬性值 描述
none 元素不浮動(默認值
left 元素向浮動
right 元素向浮動
  • float 屬性會讓盒子漂浮在標準流的上面,所以第二個標準流的盒子跑到浮動盒子的底下了,
  • float屬性會改變元素display屬性,
  • 浮動的元素互相貼靠一起的,但是如果父級寬度裝不下這些浮動的盒子, 多出的盒子會另起一行對齊,
  • 浮動元素會改變display屬性, 類似轉換為了行內塊,但是元素之間沒有空白縫隙

浮動元素與父盒子的關系

  • 子盒子的浮動參照父盒子對齊
  • 不會與父盒子的邊框重疊, 也不會超過父盒子的內邊距,

浮動元素與兄弟盒子的關系

在一個父級盒子中, 如果前一個兄弟盒子是:

  • 浮動的, 那么當前盒子會與前一個盒子的頂部對齊,
  • 普通流, 那么當前盒子會顯示在前一個兄弟盒子的下方,
  • 浮動只會影響當前的或者是后面的標準流盒子,不會影響前面的標準流,

清除浮動

  • 由于浮動元素不再占用原檔案流的位置,所以它會對后面的元素排版產生影響

  • 準確地說,并不是清除浮動,而是清除浮動后造成的影響

  • 清除浮動主要為了解決父級元素因為子級浮動引起內部高度為0 的問題,清除浮動之后, 父級就會根據浮動的子盒子自動檢測高度,父級有了高度,就不會影響下面的標準流了

清除浮動的方法

在CSS中, clear屬性用于清除浮動,

語法一:

選擇器 {
	clear: 屬性值;
	/* clear 清除 */
}
屬性值 描述
left 不允許左側有浮動元素(清除左側浮動的影響)
right 不允許右側有浮動元素(清除右側浮動的影響)
both 同時清除左右兩側浮動的影響

語法二(額外標簽法):

是W3C推薦的做法是通過在浮動元素末尾添加一個空的標簽例如 <div style=”clear:both”></div>,或則其他標簽br等亦可,

語法三(父級添加overflow屬性方法):

可以給父級添加: overflow: hidden | auto | scroll都可以實作,

語法四(使用after偽元素清除浮動):

:after 方式為空元素額外標簽法的升級版

.clearfix:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility:hidden;
}
.clearfix {
	*zoom: 1;  /* IE6、7 專有*/
}

語法五(使用雙偽元素清除浮動):

.clearfix:before,
.clearfix:after {
	content:"";
	display: table;
}
.clearfix:after {
	clear: both;
}
.clearfix {
	*zoom: 1;
}

清除浮動總結:

  • 用途:
    1. 父級沒有高度,
    2. 子盒子浮動,
    3. 影響下面布局,
清除浮動的方式 優點 缺點
額外標簽法(隔墻法) 通俗易懂,書寫方便 添加許多無意義的標簽,結構化較差,
父級overflow:hidden; 書寫簡單 溢位隱藏
父級after偽元素 結構語意化正確 由于IE6-7不支持:after,兼容性問題
父級雙偽元素 結構語意化正確 由于IE6-7不支持:after,兼容性問題

定位(position)

將盒子在某一個置 自由的漂浮在其他盒子(包括標準流和浮動)的上面

定位組成:

定位 = 定位模式 + 邊偏移

邊偏移

在 CSS 中,通過 topbottomleftright 屬性定義元素的邊偏移:(方位名詞)

邊偏移屬性 示例 描述
top top: 80px 頂端偏移量,定義元素相對于其父元素上邊線的距離
bottom bottom: 80px 底部偏移量,定義元素相對于其父元素下邊線的距離
left left: 80px 左側偏移量,定義元素相對于其父元素左邊線的距離
right right: 80px 右側偏移量,定義元素相對于其父元素右邊線的距離

定位模式

在 CSS 中,通過 position 屬性定義元素的定位模式,語法如下:

選擇器 { position: 屬性值; }

定位模式是有不同分類的,在不同情況下,我們用到不同的定位模式,

語意
static 靜態定位
relative 相對定位
absolute 絕對定位
fixed 固定定位
靜態定位(static)
  • 靜態定位是元素的默認定位方式,無定位的意思,它相當于 border 里面的none, 不要定位的時候用,
  • 靜態定位 按照標準流特性擺放位置,它沒有邊偏移,
  • 靜態定位在布局時我們幾乎不用的
相對定位(realative)
  • 相對于 自己原來在標準流中位置來移動的
  • 原來在標準流的區域繼續占有,后面的盒子仍然以標準流的方式對待它,
絕對定位(sbsolute)

絕對定位是元素以帶有定位的父級元素來移動位置

  1. 完全脫標 ---- 不占位置,
  2. 父元素沒有定位, 則以瀏覽器為準定位(Document檔案)
  3. 父元素需要有定位,將元素依據最近的已經定位(絕對、固定或相對定位)的父元素(祖先)進行定位,
  • 子級絕對定位,父級要用相對定位,
固定定位(fixed)
  1. 完全脫標 —— 完全不占位置;
  2. 只認瀏覽器的可視視窗 —— 瀏覽器可視視窗 + 邊偏移屬性 來設定元素的位置;
    • 跟父元素沒有任何關系;單獨使用的
    • 不隨滾動條滾動,
  • 提示:IE 6 等低版本瀏覽器不支持固定定位,

絕對定位的盒子居中

注意絕對定位/固定定位的盒子不能通過設定 margin: auto 設定水平居中

left: 50%;:/*讓盒子的左側移動到父級元素的水平中心位置,*/
margin-left: -100px;:/*讓盒子向左移動自身寬度的一半,*/

堆疊順序(z-index)

在使用定位布局時,可能會出現盒子重疊的情況

加了定位的盒子,默認后來者居上, 后面的盒子會壓住前面的盒子,

應用 z-index 層疊等級屬性可以調整盒子的堆疊順序

z-index 的特性如下:

  1. 屬性值正整數負整數0,默認值是 0,數值越大,盒子越靠上;
  2. 如果屬性值相同,則按照書寫順序,后來居上
  3. 數字后面不能加單位

注意z-index 只能應用于相對定位絕對定位固定定位的元素,其他標準流浮動靜態定位無效,

定位改變display屬性

display 是顯示模式, 可以改變顯示模式有以下方式:

  • 可以用inline-block 轉換為行內塊
  • 可以用浮動 float 默認轉換為行內塊(類似,并不完全一樣,因為浮動是脫標的)
  • 絕對定位和固定定位也和浮動類似, 默認轉換的特性 轉換為行內塊,
  • 注意
    • 浮動元素、絕對定位(固定定位)元素的都不會觸發外邊距合并的問題, (我們以前是用padding border overflow解決的)

定位小結

定位模式 是否脫標占有位置 移動位置基準 模式轉換(行內塊) 使用情況
靜態static 不脫標,正常模式 正常模式 不能 幾乎不用
相對定位relative 不脫標,占有位置 相對自身位置移動 不能 基本單獨使用
絕對定位absolute 完全脫標,不占有位置 相對于定位父級移動位置 要和定位父級元素搭配使用
固定定位fixed 完全脫標,不占有位置 相對于瀏覽器移動位置 單獨使用,不需要父級

注意

  1. 邊偏移需要和定位模式聯合使用,單獨使用無效
  2. topbottom 不要同時使用;
  3. leftright 不要同時使用,

元素的顯示與隱藏

display顯示

  • display設定或檢索物件是否及如何顯示,

    display: none; /* 隱藏物件 */
    
    display: block /* 除了轉換為塊級元素之外,同時還有顯示元素的意思, */
    

    特點: 隱藏之后,不再保留位置,

visibility 可見性

  • 設定或檢索是否顯示物件,

    visibility: visible; /* 物件可見 */ 
    
    visibility: hidden; /* 物件隱藏 */ 
    

    特點: 隱藏之后,繼續保留原有位置,

overflow溢位

檢索或設定當物件的內容超過其指定高度及寬度時如何管理內容,

屬性值 描述
visible 不剪切內容也不添加滾動條
hidden 不顯示超過物件尺寸的內容,超出的部分隱藏掉
scroll 不管超出內容否,總是顯示滾動條
auto 超出自動顯示滾動條,不超出不顯示滾動條

顯示與隱藏總結

屬性 區別 用途
display 隱藏物件,不保留位置 配合后面js做特效,比如下拉選單,原先沒有,滑鼠經過,顯示下拉選單, 應用極為廣泛
visibility 隱藏物件,保留位置 使用較少
overflow 只是隱藏超出大小的部分 1. 可以清除浮動 2. 保證盒子里面的內容不會超出該盒子范圍

CSS用戶界面樣式

滑鼠樣式cursor

設定或檢索在物件上移的滑鼠指標采用何種系統預定義的游標形狀

屬性值 描述
default 小白 默認
pointer 小手
move 移動
text 文本
not-allowed 禁止
  • 例如

    <ul>
      <li style="cursor:default">我是小白</li>
      <li style="cursor:pointer">我是小手</li>
      <li style="cursor:move">我是移動</li>
      <li style="cursor:text">我是文本</li>
      <li style="cursor:not-allowed">我是文本</li>
    </ul>
    

輪廓線 outline

是繪制于元素周圍的一條線,位于邊框邊緣的外圍,可起到突出元素的作用,

outline: outline-color || outline-style || outline-width

/* 去除  */
outline: 0;   或者  outline: none;

防止拖拽文本域 resize

<textarea  style="resize: none;"></textarea>

用戶界面樣式總結

屬性 用途 用途
滑鼠樣式 更改滑鼠樣式cursor 樣式很多,重點記住 pointer
輪廓線 表單默認outline outline 輪廓線,我們一般直接去掉,border是邊框,我們會經常用
防止拖拽 主要針對文本域resize 防止用戶隨意拖拽文本域,造成頁面布局混亂,我們resize:none

vertical-align 垂直對齊

vertical-align 垂直對齊,它只針對于行內元素或者行內塊元素

vertical-align : baseline |top |middle |bottom 

注意:

  • vertical-align 不影響塊級元素中的內容對齊,它只針對于行內元素或者行內塊元素
  • 特別是行內塊元素, 通常用來控制圖片/表單與文字的對齊

圖片、表單和文字對齊

通過vertical-align 控制圖片和文字的垂直關系了, 默認的圖片會和文字基線對齊,

去除圖片底側空白縫隙

圖片或者表單等行內塊元素,他的底線會和父級盒子的基線對齊,就是圖片底側會有一個空白縫隙,

解決:

  • 給img vertical-align:middle | top| bottom等等, 讓圖片不要和基線對齊,
  • 給img 添加 display:block; 轉換為塊級元素就不會存在問題了,

溢位的文字省略號顯示

whithe-space

white-space設定或檢索物件內文本顯示方式,通常我們使用于強制一行顯示內容

white-space:normal ;
/* 默認處理方式 */

white-space:nowrap ; 
/* 強制在同一行內顯示所有文本,直到文本結束或者遭遇br標簽物件才換行, */

text-overflow 文字溢位

設定或檢索是否使用一個省略標記(...)標示物件內文本的溢位

text-overflow : clip ;
/* 不顯示省略標記(...),而是簡單的裁切 */

text-overflow:ellipsis ; 
/* 當物件內文本溢位時顯示省略標記(...)*/ 

總結

  /*1. 先強制一行內顯示文本*/
      white-space: nowrap;
  /*2. 超出的部分隱藏*/
      overflow: hidden;
  /*3. 文字用省略號替代超出的部分*/
      text-overflow: ellipsis;

CSS精靈技術 (sprite)

為了有效地減少服務器接受和發送請求的次數,提高頁面的加載速度,

  • CSS 精靈其實是將網頁中的一些背景影像整合到一張大圖中(精靈圖),然而,各個網頁元素通常只需要精靈圖中不同位置的某個小圖,要想精確定位到精靈圖中的某個小圖,

使用方法

首先我們知道,css精靈技術主要針對于背景圖片,插入的圖片img 是不需要這個技術的,

我們需要使用CSS的

  • background-image、
  • background-repeat
  • background-position屬性進行背景定位,
  • 其中最關鍵的是使用background-position 屬性精確地定位,
  1. 精確測量,每個小背景圖片的大小和 位置,
  2. 給盒子指定小背景圖片時, 背景定位基本都是 負值,

滑動門

為了使各種特殊形狀的背景能夠自適應元素中文本內容的多少,出現了CSS滑動門技術,它從新的角度構建頁面,使各種特殊形狀的背景能夠自由拉伸滑動,以適應元素內部的文本內容,可用性更強, 最常見于各種導航欄的滑動門,

使用方法

核心技術就是利用CSS精靈(主要是背景位置)和 盒子padding撐開寬度, 以便能適應不同字數的導航欄,

<li>
  <a href="https://www.cnblogs.com/Hac-Zhang/p/#">
    <span>導航欄內容</span>
  </a>
</li>
* {
      padding:0;
      margin:0;

    }
    body{
      background: url(images/wx.jpg) repeat-x;
    }
    .father {
      padding-top:20px;
    }
    li {
      padding-left: 16px;
      height: 33px;
      float: left;
      line-height: 33px;
      margin:0  10px;
      background: url(./images/to.png) no-repeat left ;
    }
    a {
      padding-right: 16px;
      height: 33px;
      display: inline-block;
      color:#fff;
      background: url(./images/to.png) no-repeat right ;
      text-decoration: none;
    }
    li:hover,
     li:hover a {
      background-image:url(./images/ao.png);
    }


總結:

  1. a 設定 背景左側,padding撐開合適寬度,
  2. span 設定背景右側, padding撐開合適寬度 剩下由文字繼續撐開寬度,
  3. 之所以a包含span就是因為 整個導航都是可以點擊的,

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/143265.html

標籤:Html/Css

上一篇:WEB 之 HTML 系列筆記

下一篇:Vue3.x 從零開始(二)—— 重新認識 Vue 組件

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • IEEE1588PTP在數字化變電站時鐘同步方面的應用

    IEEE1588ptp在數字化變電站時鐘同步方面的應用 京準電子科技官微——ahjzsz 一、電力系統時間同步基本概況 隨著對IEC 61850標準研究的不斷深入,國內外學者提出基于IEC61850通信標準體系建設數字化變電站的發展思路。數字化變電站與常規變電站的顯著區別在于程序層傳統的電流/電壓互 ......

    uj5u.com 2020-09-10 03:51:52 more
  • HTTP request smuggling CL.TE

    CL.TE 簡介 前端通過Content-Length處理請求,通過反向代理或者負載均衡將請求轉發到后端,后端Transfer-Encoding優先級較高,以TE處理請求造成安全問題。 檢測 發送如下資料包 POST / HTTP/1.1 Host: ac391f7e1e9af821806e890 ......

    uj5u.com 2020-09-10 03:52:11 more
  • 網路滲透資料大全單——漏洞庫篇

    網路滲透資料大全單——漏洞庫篇漏洞庫 NVD ——美國國家漏洞庫 →http://nvd.nist.gov/。 CERT ——美國國家應急回應中心 →https://www.us-cert.gov/ OSVDB ——開源漏洞庫 →http://osvdb.org Bugtraq ——賽門鐵克 →ht ......

    uj5u.com 2020-09-10 03:52:15 more
  • 京準講述NTP時鐘服務器應用及原理

    京準講述NTP時鐘服務器應用及原理京準講述NTP時鐘服務器應用及原理 安徽京準電子科技官微——ahjzsz 北斗授時原理 授時是指接識訓通過某種方式獲得本地時間與北斗標準時間的鐘差,然后調整本地時鐘使時差控制在一定的精度范圍內。 衛星導航系統通常由三部分組成:導航授時衛星、地面檢測校正維護系統和用戶 ......

    uj5u.com 2020-09-10 03:52:25 more
  • 利用北斗衛星系統設計NTP網路時間服務器

    利用北斗衛星系統設計NTP網路時間服務器 利用北斗衛星系統設計NTP網路時間服務器 安徽京準電子科技官微——ahjzsz 概述 NTP網路時間服務器是一款支持NTP和SNTP網路時間同步協議,高精度、大容量、高品質的高科技時鐘產品。 NTP網路時間服務器設備采用冗余架構設計,高精度時鐘直接來源于北斗 ......

    uj5u.com 2020-09-10 03:52:35 more
  • 詳細解讀電力系統各種對時方式

    詳細解讀電力系統各種對時方式 詳細解讀電力系統各種對時方式 安徽京準電子科技官微——ahjzsz,更多資料請添加VX 衛星同步時鐘是我京準公司開發研制的應用衛星授時時技術的標準時間顯示和發送的裝置,該裝置以M國全球定位系統(GLOBAL POSITIONING SYSTEM,縮寫為GPS)或者我國北 ......

    uj5u.com 2020-09-10 03:52:45 more
  • 如何保證外包團隊接入企業內網安全

    不管企業規模的大小,只要企業想省錢,那么企業的某些服務就一定會采用外包的形式,然而看似美好又經濟的策略,其實也有不好的一面。下面我通過安全的角度來聊聊使用外包團的安全隱患問題。 先看看什么服務會使用外包的,最常見的就是話務/客服這種需要大量重復性、無技術性的服務,或者是一些銷售外包、特殊的職能外包等 ......

    uj5u.com 2020-09-10 03:52:57 more
  • PHP漏洞之【整型數字型SQL注入】

    0x01 什么是SQL注入 SQL是一種注入攻擊,通過前端帶入后端資料庫進行惡意的SQL陳述句查詢。 0x02 SQL整型注入原理 SQL注入一般發生在動態網站URL地址里,當然也會發生在其它地發,如登錄框等等也會存在注入,只要是和資料庫打交道的地方都有可能存在。 如這里http://192.168. ......

    uj5u.com 2020-09-10 03:55:40 more
  • [GXYCTF2019]禁止套娃

    git泄露獲取原始碼 使用GET傳參,引數為exp 經過三層過濾執行 第一層過濾偽協議,第二層過濾帶引數的函式,第三層過濾一些函式 preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'] (?R)參考當前正則運算式,相當于匹配函式里的引數 因此傳遞 ......

    uj5u.com 2020-09-10 03:56:07 more
  • 等保2.0實施流程

    流程 結論 ......

    uj5u.com 2020-09-10 03:56:16 more
最新发布
  • 使用Django Rest framework搭建Blog

    在前面的Blog例子中我們使用的是GraphQL, 雖然GraphQL的使用處于上升趨勢,但是Rest API還是使用的更廣泛一些. 所以還是決定回到傳統的rest api framework上來, Django rest framework的官網上給了一個很好用的QuickStart, 我參考Qu ......

    uj5u.com 2023-04-20 08:17:54 more
  • 記錄-new Date() 我忍你很久了!

    這里給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 大家平時在開發的時候有沒被new Date()折磨過?就是它的諸多怪異的設定讓你每每用的時候,都可能不小心踩坑。造成程式意外出錯,卻一下子找不到問題出處,那叫一個煩透了…… 下面,我就列舉它的“四宗罪”及應用思考 可惡的四宗罪 1. Sa ......

    uj5u.com 2023-04-20 08:17:47 more
  • 使用Vue.js實作文字跑馬燈效果

    實作文字跑馬燈效果,首先用到 substring()截取 和 setInterval計時器 clearInterval()清除計時器 效果如下: 實作代碼如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta ......

    uj5u.com 2023-04-20 08:12:31 more
  • JavaScript 運算子

    JavaScript 運算子/運算子 在 JavaScript 中,有一些運算子可以使代碼更簡潔、易讀和高效。以下是一些常見的運算子: 1、可選鏈運算子(optional chaining operator) ?.是可選鏈運算子(optional chaining operator)。?. 可選鏈操 ......

    uj5u.com 2023-04-20 08:02:25 more
  • CSS—相對單位rem

    一、概述 rem是一個相對長度單位,它的單位長度取決于根標簽html的字體尺寸。rem即root em的意思,中文翻譯為根em。瀏覽器的文本尺寸一般默認為16px,即默認情況下: 1rem = 16px rem布局原理:根據CSS媒體查詢功能,更改根標簽的字體尺寸,實作rem單位隨螢屏尺寸的變化,如 ......

    uj5u.com 2023-04-20 08:02:21 more
  • 我的第一個NPM包:panghu-planebattle-esm(胖虎飛機大戰)使用說明

    好家伙,我的包終于開發完啦 歡迎使用胖虎的飛機大戰包!! 為你的主頁添加色彩 這是一個有趣的網頁小游戲包,使用canvas和js開發 使用ES6模塊化開發 效果圖如下: (覺得圖片太sb的可以自己改) 代碼已開源!! Git: https://gitee.com/tang-and-han-dynas ......

    uj5u.com 2023-04-20 08:01:50 more
  • 如何在 vue3 中使用 jsx/tsx?

    我們都知道,通常情況下我們使用 vue 大多都是用的 SFC(Signle File Component)單檔案組件模式,即一個組件就是一個檔案,但其實 Vue 也是支持使用 JSX 來撰寫組件的。這里不討論 SFC 和 JSX 的好壞,這個仁者見仁智者見智。本篇文章旨在帶領大家快速了解和使用 Vu ......

    uj5u.com 2023-04-20 08:01:37 more
  • 【Vue2.x原始碼系列06】計算屬性computed原理

    本章目標:計算屬性是如何實作的?計算屬性快取原理以及洋蔥模型的應用?在初始化Vue實體時,我們會給每個計算屬性都創建一個對應watcher,我們稱之為計算屬性watcher ......

    uj5u.com 2023-04-20 08:01:31 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:01:10 more
  • http1.1與http2.0

    一、http是什么 通俗來講,http就是計算機通過網路進行通信的規則,是一個基于請求與回應,無狀態的,應用層協議。常用于TCP/IP協議傳輸資料。目前任何終端之間任何一種通信方式都必須按Http協議進行,否則無法連接。tcp(三次握手,四次揮手)。 請求與回應:客戶端請求、服務端回應資料。 無狀態 ......

    uj5u.com 2023-04-20 08:00:32 more