整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          2022年了,你需要知道CSS的Calc和自定義屬性

          2022年了,你需要知道CSS的Calc和自定義屬性

          大多數人想到在 Web 上進行計算時,他們會想到 JavaScript。考慮到 JavaScript 是 Web 的主要編程語言,這是有道理的,但是如果我告訴你,你可以只用 CSS 進行相當復雜的計算。老實說,它非常神奇且無限有用。

          什么是 CSS 計算?

          首先,我們需要談談 CSS calc 是什么以及如何使用它。用最簡單的術語來說,CSS calc 只是一個 CSS 函數,類似于rgb,var等,它可以讓您對各種 CSS 單元進行加法、減法、除法和乘法運算。這是一個簡單的例子。

          .class {
            width: calc(200px + 100px);
          }
          

          上面的 CSS 將這個框的寬度設置為 300px(200px 加上 100px)。

          誠然,這不是很有用。我的意思是我們可以只寫 300px 并節省大量時間,但這只是 CSS calc 的開始。

          組合不同的單位

          使用 CSS calc,我們可以將不同的 CSS 單元組合在一起,以創建傳統 CSS 單元無法表示的值。例如,如果我們想創建一個距離 100vw 寬 30px 的盒子怎么辦。本質上是一個 100vw 的盒子,其中移除了 30px 的空間。

          .class {
            width: calc(100vw - 30px);
          }
          

          這就是你需要做的。只需將 100vw 和 30px 放入您的 calc 函數中,CSS 就會為您處理所有復雜的數學運算。現在,無論您的屏幕多寬或多小,框總是比屏幕的全寬小 30 像素。現在,僅此一項就足以使 CSS calc 令人驚嘆,但是您可以更進一步,將其與 CSS 變量結合使用。

          CSS 變量和計算

          現在,我們可以討論如何在 calc 中使用 CSS 變量。您需要做的就是用變量替換 calc 函數中的一個值。例如:

          .class {
            --w: 100px;
            width: calc(var(--w) * 2);
          }
          

          我們現在有一個 200px 寬的盒子,因為我們將 100px--w變量乘以 2。那--w是什么呢?那在這里也說一下css的自定義屬性。

          自定義屬性的由來

          在很長一段時間內,原生 CSS 在代碼復用方面有所欠缺,例如典型的例子 - 主題,每一個 font-sizecolorborder 等屬性值必須重復編寫,若有改動則每一處都要修改。如何解決這個疑難雜癥,許多開發人員轉向 CSS 預處理器(例如 SASS、Less)來處理 CSS 中的變量。在過去的幾年里,CSS 一直忙于添加新特性,其中一個特性就是自定義屬性。這些自定義屬性是 CSS 的變量版本,比任何預處理器變量都強大得多。

          自定義屬性(變量)

          屬性名能夠自定義,屬性值是任意合法 CSS 值。屬性名以 -- 開頭,大小寫敏感,如 --auto-color: red,通過 var(--auto-color defaultValue) 引用

          body {
            --auto-color: red
          }
          child {
            width: var(--auto-color, black)
          }
          

          默認會被繼承,所以定義在 :root 偽類下,則所有子元素都可以獲取到。

          若自定義屬性不合法或不存在,會被該屬性的默認值替換,例如:

          child {
            width: var(--auto-color1,red)  //block
          }
          

          自定義屬性默認值

          由于自定義屬性是 CSS 的一部分,而不是像在預處理器中那樣從代碼中編譯出來,因此可以在 JavaScript 中訪問和修改它們。讓我們使用下面的 CSS 來演示如何在 JavaScript 中訪問和修改自定義屬性。

          :root {
            --color: red;
          }
          .custom-btn {
            --background-color: blue;
            color: var(--color);
            background-color: var(--background-color);
          }
          

          我們在兩個元素上都設置了自定義屬性,.custom-btn類以及文檔根,在 Web 開發的情況下是 html 元素。我們該如何在 JavaScript 中獲取這些屬性的值呢?請看下面例子:

          /* 這個將從根元素返回變量color值 */
          getComputedStyle(document.documentElement).getPropertyValue('--color')
          const customButton=document.querySelector('.custom-btn')
          getComputedStyle(customButton).getPropertyValue('--color')
          getComputedStyle(customButton).getPropertyValue('--background-color')
          

          代碼首先獲取元素的計算樣式。這將確保--color正確計算所有繼承的值,例如自定義按鈕的值。然后該getPropertyValue函數用于獲取屬性的值,就好像它是任何其他 CSS 屬性一樣。

          至于設置自定義屬性的值,則更加簡單。

          document.documentElement.style.setProperty('--color', 'green')
          const customButton=document.querySelector('.custom-btn')
          customButton.style.setProperty('--background-color', 'yellow')
          

          設置自定義屬性就像設置任何其他 CSS 屬性一樣。首先需要訪問元素的樣式,然后setProperty可以通過傳遞要設置的屬性名稱和要設置的值來使用該函數。那我們回過頭來說calc

          用 Calc 轉換單位

          除了在 calc 中使用 CSS 變量之外,您還可以將沒有單位的值轉換為有單位的值,只需將該值乘以您要轉換為的單位類型的 1。如果您在 JS 中設置了不包含單位的 CSS 變量,這將非常有用。

          .class {
            --fav-num: 3;
            width: calc(var(--fav-num) * 1px);
          }
          

          使用這個簡單的計算函數,我將--fav-num變量從無單位值轉換為基于像素的值。

          CSS 計算陷阱

          幸運的是,calc 使用起來非常簡單,但有一個問題需要注意。CSS calc 函數內部的間距非常重要。calc 函數中的每個值和它們之間的運算之間必須有一個空格。calc 函數的括號前也不能有空格。例如,以下所有內容都是無效的 CSS。

          .class {
            width: calc(1px+ 2px);
            width: calc(1px +2px);
            width: calc(1px+2px);
            width: calc (1px + 2px);
          }
          

          五、兼容

          calc兼容性還是蠻好的!自定義屬性不支持IE!

          結論

          CSS calc和自定義屬性是非常有用的功能,看起來它只有一個小眾用例,但實際上開辟了很多可能性。雖然大家普遍習慣用Sass或者Less,但是我還是強烈建議您在下一個項目中使用 calc和自定義屬性,因為它極大地簡化了 CSS 代碼。

          、 結構

          一、標記<Html> 建立HTML文檔

          <Head> 設置網頁頭部和其它信息

          <Body> 設計文件格式及內文所在<Body> 元素的屬性

          Text 設置頁面文字的送顔色 Bgcolor 設置頁面背景的顡色

          Background 設置頁面的背景圖像 Link設置頁面黙認的顔色

          Bgproperties 設置頁面的背景圖像為固定,不隨頁面的滾動而滾動

          Alink 設置鼠標正在單擊時候的鏈接顔色 Vlink 設置訪問過后的鏈接顔色

          Topmargin 設置頁面的上邊距 Leftmargin 設置頁面的左邊距

          二、頭部

          標記 <Base> 當前文檔的URL全稱 <Title>設置顯示在瀏覽器在上方的標題內容

          <Isindex> 表明該文檔是一個可用于檢索的網關腳本

          <Meta> 有關文檔本身的信息,例如用于查詢的關鍵詞,用于獲取該文檔的有效期等

          <Style> 設置CSS層疊樣式表的內容

          <link> 設置外部文件的鏈接 <script> 設置頁面中程序腳本的內容

          <Mate> 標記屬性

          Http-Equiv 生成一個HTTP標題域,它的取值與另一個屬性相同,

          例如Http-Equiv=Expires,實際取值由Content確定

          Name 如果元數據是以關鍵字/取值的形式出現的,Name 表示鍵字,

          如Author或ID

          Content 關鍵字/取值的內容

          三、文字

          文字標記 <HNumber>……<1HNumber> Number=1.2.3.4.5.6

          分別指1至6級標題

          <Font>文字

          文字的修飾標記 <B>/<strong> 粗體 <I>/<Em>/<cite> 斜體

          <Sup>上標 <sub>下標 <Big>大字號 <small>小字號

          <U>下劃線 <S>/<strike>刪除線 <Address>地址

          <Tt>打字機文字 <Blink>閃爍文字(只適用于Netscape瀏覽器)

          <Code>/<samp>等寬 <kbd>鍵盤輸入文字 <Var>聲明變量

          <Fant>標記的屬性

          Face 字體 Size字號 Color顔色

          四.列表

          列表標記 <Ul>無序列表 <Ol>有序列表 <Dir>回錄列表 <Dl>定義列表

          <Meru>菜單列表 <Dt>·<Dd>定義列表的標記 <Li>列表項目的標記

          <Ul><Ol>標記的屬性 Type設置列表類型 start設置列表起始屬性

          Type的屬性值 1 數字 a 小寫字母 A 大寫字母 i小寫羅馬數字

          I 大寫羅馬數字 Disc ● Circle ○ square □

          五.鏈接

          鏈接標記 <A> 鏈接

          <A>標記的屬性 Href 指定鏈接地址 Name給鏈接命名

          Title設置鏈接提示文字 Target指定鏈接的目標窗口

          Target屬性值 -parent在上一級窗口中打開。一般使用分幀的框架頁會經常使用

          -bank在新窗口中打開

          -self在同一個幀或窗口中打開.這項一般不用設置

          Href屬性值 http:// 進入萬維網站點 news://啟動新聞討論

          ftp:// 進入文件傳輸服務器 mailto:// 啟動新聞討論組

          telnet:// 啟動telnet方式 gopher://訪問一個gopher服務器

          六.圖片

          圖片標記 <Img>圖片 <Map>圖像映射 <Area>圖像映射中定義區域

          <lmg>標記的屬性 src圖像的源文件 Alt提示文字 Width寬度

          Height高度 Vspace垂直間距 Hspace水平間距 Align排列 Border邊框

          Align屬性值 Top文字的中間線居于圖片上方 Middle文字的中間線居于圖片中間

          Bottom文字的中間線居于圖片底部 Left 圖片在文字的左側

          Right圖片在文字的右側 Absbottom文字的底線居于圖片底部

          Absmiddle文字的底線居于圖片中間 Baseline英文文字基線對齊

          Texttop英文文字上邊線對齊

          Shape屬性值

          Rect矩形區域 Circle橢圓形區域 Poly多邊形區域

          七.表格

          1.表格標記 <Table>…</Table>表格標記 <Tr>…</Tr>行標記

          <Td>…</Td>單元格標記 <Th>表頭標記

          <Table>標記屬性 Bordercolor 表格邊框色 Borde表格邊框的寬度

          Bordercolorlight 表格邊框亮邊框色(左上邊框顔色)

          Bordercolordark 表格暗邊框色(右下邊框顔色)

          Bordercolor 行的邊框顔色 Width表格的寬度 Height表格的高度

          Bgcolor表格的背景顔色 Background表格的背圖像

          <Tr>標記屬性 Align行內容的水平對齊 Valign 行內容的垂直對齊

          Bgcolor 行的背景顔色 Background 行的背景圖像

          Bordercolor 行的邊框顔色 Bordercolorlight 行的亮邊框顔色

          Bordercolordark 行的暗邊框顔色

          <Td>標記屬性 Align單元內容的水平對齊 Valign單元格內容的垂直對齊

          Bgcolor 單元格的背景顔色 Background 單元格的背景圖像

          Bordercolor單元格的背景顔色 Bordercorlorlight單元格的亮邊框顔色

          Brodercolordark 單元格的暗邊框顔色 Width 單元格的寬度

          Height單元格的高度

          <Th>標記屬性 Align表頭內容的水平對齊 Valign表頭內容的垂直對齊

          Bgcolor 表頭的背景顔色 Background表頭的背景圖像

          Bordercolor表頭的邊框顔色 Bordercolorlight 表頭的亮邊框顔色

          Bordercolordark 表頭的暗邊框顔色 Width 表頭的寬度 Height 表頭的高度

          八.表單

          1.表單標記 <Form>表單標記 <Input>表單輸入標記

          <select>菜單和列表標記 <Option>菜單和列表項目標記

          2.屬性 <Form> Name表單的名稱

          Method 定義表單結果從瀏覽器傳送到服務器的方法,一般有兩種方法:get,post

          Action 用來定義表單處理程序(一個Asp,CGI等程序)的位置(相對地址或絕對地址)

          <lnput>標記屬性 Name 域的名稱 Type域的類型

          Maxlength 域的最大輸入字符數 size域的寬度 Value 域的默認值

          <Select>標記屬性 Name 菜單和列表的名稱 size 顯示的選項數目

          Multiple 列表中的項目多選 Value 選項值 selected默認選項

          <Texrarea>標記屬性 Name 文字域的名稱 Rows文字域的行數

          Cols 文字域的列數 Value 文字域的默認值

          Type屬性值 Text 文字域 Password 密碼域 File 文件域

          Checkbox復選框 Redio單選框 Button普通按扭

          Submit 提交按鈕 Reset重置按鈕 Hidden隱藏域Image圖像域

          九.滾動

          滾動標記 <Marquee>

          <Marquee>標記屬性 Direction 滾動方向 up 文字向上滾動 Left文字向左滾動

          Behavior 滾動方式 Scroll 循環往復

          Side 只做一次滾動

          Alternate 交替進行滾動

          ScrollAmount 滾動速度

          ScrollDelay 滾動延遲

          Trim函數用來剔除首尾空格

          十.框架

          1.標記 <Frameset> 框架邊框標記 <Frame> 框架標記 <Iframe>浮動框架標記

          <Frameset>標記屬性 Cols列 Rows行

          <Frame> 標記屬性 src框架中顯示頁面源文件的路徑

          FrameBorder 框架邊框顯標屬性 FrameSpacing框架邊框寬度屬性

          Scrolling框架滾動條顯示屬性 NoResize 框架尺寸調整屬性

          BorderColor 框架邊框顔色屬性 MarginWidt 框架邊框緣寬度屬性

          MarginHerght框架邊緣高度屬性

          <1frame> 標記屬性 src浮動框架中顯示頁面源文件的路徑

          Width 浮動框架的寬度 Height 浮動框架的高度

          Name 浮動框架的名稱

          Align 浮動框架的排列方式 Left表示居左 Center表示居中 Right表示居右

          FrameBorder 框架邊框顯示屬性 FrameSpacing 框架寬度屬性

          Scrolling 框架滾動條顯示屬性 ( yes顯示 No不顯示 Auto根據頁面的長度自動判斷是否晶粒示滾動條

          NoResize 框架尺寸調整屬性 BorderColor框架的顔色

          MarginWidth 框架邊緣寬度屬性 MarginHeight 框架邊緣高度屬性

          插入刷新

          步驟:1.選擇"查看/文件頭內容"

          2.在插入面板上,打開HTML選項卡

          優化代碼

          打開文件窗口,執行"命令、清理HTML"命令

          文本換行:Enter 行距較大

          Enter + Shift 行距較小

          插入水平線設置顔色:單擊屬性面板中的快捷標簽編輯器按鈕

          在代碼中鍵入"color=#顔色值"

          當圖像無法顯示時將顯示這段文字:

          圖像屬性中的替代→輸入文字

          插入鼠標經過圖像:準備兩張圖像

          在文件窗口中,將光標放置于需要翻轉圖像位置→插入工具欄中單擊鼠標經過圖像

          Ⅱ.使用導航條:

          在"常用"對象組中,單擊"圖像"小三角→導航條

          插入圖像占位符:圖像小三角→圖像占位符

          Flash動畫的背景實現透明 參數wmode 值 transparent

          插入 Java Applet

          插入表單

          插入表單域:對象面板上"表單"→插入表單

          插入文本域:單擊面板上的插入文本域. 初始值=打開時顯于的文字

          插入密碼框:在屬性面板上選擇密碼

          插入多行文本域:在類型后選擇多行

          插入隱藏域:對象面板→插入隱藏域

          插入按鈕:標簽用來設置按鈕上顯示的文本

          插入圖像提交按鈕=圖像域:

          插入文件上傳按鈕=文件域:

          插入單選框

          插入單選按鈕組:Label文字說明 Value 單選按鈕的值

          插入復選框

          菜單/插入列表:列表值→

          插入跳轉菜單:(

          制作網頁鏈接

          URL統一資源定位器

          目標:_blank在一個新的未命名的瀏覽器窗口中打開

          _parent如果是嵌套的框架,鏈接會在父框架或窗口中打開,否則=_top

          _top在完整的瀏覽器中打開

          創建搜索頁

          運行中輸入:

          Inetmgr (IIS

          Odbcad32 (odbc

          Asp對象

          Applicatipn 在給定的應用程序的所有用戶間共享信息,并在服務器運行期間持久地保存數據。

          集合: Contents

          staticObjects

          Item(變量值)=設置資料變量的值

          Key(變量名稱)=設置資料變量的名稱

          Count(變量資料的數量)=表示

          Coutents集合中資料的總數量

          方法: Lock

          Unlock

          事件: Applicatipn_Onstart

          Application_OnEnd

          Session 存儲特定的用戶會話所需的信息

          屬性:CodePage

          LCID

          SessionID

          Timeout

          集合:Contents

          StaticObjects

          方法:Abandon

          事件:Session_Onstart

          Session_OnEnd

          Response 用來控制發送給用戶的信息,包括直接發送信息給瀏覽器,重定位瀏覽器到另一個URL或設置Cookie值

          屬性: Buffer

          CacheControl

          Charset

          ContentType

          Expires

          ExpiresAbsolute

          IsClientConnected

          PICS

          Status

          集合: Cookies

          方法: AddHeader

          AppendToLog

          BinaryWrite

          Clear

          End

          Flush

          Redirect

          Write

          Request 訪問任何基于HTTP請求傳遞的信息,常見的有從HTML表單用Post方法或Get方法傳遞的參數,Cookie或用戶認證等。

          屬性: TotalBytes

          集合: ClientCertificate

          Cookies

          Form

          QueryString

          ServerVaiables

          方法: BinaryRead

          Server 提供對服務器方法和屬性的訪問

          屬性: ScriptTimeout

          集合: 無

          方法: CreatObject

          HTMLEncode

          MapPath

          URLEncode

          Recordset

          MoveNext 將前數據記錄移至下一條

          MovePrevious 將當前數據記錄移至上一條

          MoveFirst 將當前數據記錄移至第一條

          MoveLast 將當前數據記錄移至最后一條

          AbsolutePosition=N 將當前數據記錄移至第N條

          EOF 當前數據記錄是否移過了最后一條(發生于向下移動時)

          BOF 當前數據記錄是否移過了第一條 (發生于向上移動時)

          VBScript 運算符

          算術運算符

          指數 取負 乘法 除法 加法 減法 取模 連接 整數除法

          ∧ - * / ﹢ ﹣ Mod & \

          比較運算符

          相等 不相等 小于 大于 小于或等于 大于或等于 對象相象

          =<> < > <=>=IS

          邏輯運算符

          邏輯非 邏輯與 邏輯或 異或 邏輯等于 邏輯蘊含

          Not And Or Xor Eqv Imp

          了算術運算符和位運算符外,C語言還提供了一些其他類型的運算符,包括逗號運算符、條件運算符、sizeof運算符、指針運算符等。這些運算符在C語言中具有特定的功能和用途,對于編寫復雜的程序和實現各種算法非常有用。本文將深入介紹C語言中的這些其他運算符,幫助讀者更好地理解和掌握這一重要概念。

          以下是我整理的關于C語言的一些入門級資料,免費分享給大家:https://m.hqyjai.net/emb_study_blue_short.html?xt=zxy


          主站蜘蛛池模板: 国产在线视频一区二区三区98 | 精品视频一区二区三区免费| 成人乱码一区二区三区av| 中文乱码人妻系列一区二区| 精品人妻系列无码一区二区三区| 久久精品无码一区二区三区日韩| 国产韩国精品一区二区三区久久| 一区二区视频在线| 亚洲狠狠久久综合一区77777| 精品一区二区三区在线观看l | 丰满人妻一区二区三区视频53| 日韩精品一区在线| 国产乱人伦精品一区二区| 在线|一区二区三区四区| 国产乱码精品一区二区三区四川| jazzjazz国产精品一区二区| 91一区二区三区| 人妻天天爽夜夜爽一区二区| 成人毛片无码一区二区| 人妻内射一区二区在线视频| 国产精品日本一区二区不卡视频 | 人妻av无码一区二区三区| 亚洲欧美日韩一区二区三区在线| 亚洲一区在线视频观看| 又紧又大又爽精品一区二区| 一区二区三区免费看| 国产精品第一区揄拍| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 无码丰满熟妇浪潮一区二区AV| 国产在线观看一区二区三区| 国产亚洲一区二区精品| 欧美日韩精品一区二区在线观看 | 另类ts人妖一区二区三区| 狠狠做深爱婷婷综合一区 | A国产一区二区免费入口| 日本片免费观看一区二区| 国产精品 视频一区 二区三区| 伊人久久大香线蕉av一区| 精品无码一区二区三区水蜜桃| 无码AV中文一区二区三区| 色综合视频一区二区三区 |