html和css的使用方法以及樣式

来源:https://www.cnblogs.com/weigaojie/archive/2019/03/07/10490987.html
-Advertisement-
Play Games

佈局步驟 html和css 引入網頁頭像 css樣式表的引入方式 文件命名以及變數命名 清除預設樣式 css中顏色的表示方式 html中的標簽和屬性 盒子模型及其問題 寬高的設置和計算 浮動 定位 2D和3D 動畫 元素分類 背景圖片以及瀏覽器內核 文件的讀取方法路徑 邊框的相關屬性【圓角,邊框形狀 ...


佈局步驟

第一步: 清除預設樣式
第二步: 劃分模塊
第三步: 設置模塊的大小以及位置
第四步: 劃分下一級模塊

html和css

引入網頁頭像


<link rel="shortcut icon" href="img/...ico">

css樣式表的引入方式


css樣式表的引入方式
1、外鏈式
<link href="" rel="stylesheet">
2、嵌入式
<style></style>
3、行內樣式
<div style="width:200px;height:200pxs;"></div>
4. @import url('')

文件命名以及變數命名


命名規範
1、嚴格區分大小寫
2、可以採用字母數字下劃線$,數字不開頭
3、命名語義化
4、可以採用駝峰命名法

清除預設樣式


清楚邊距
  *{
       margin: 0;
       padding: 0;
       list-style: none;
  }
a標簽清楚下劃線和顏色
   a{
       color: black;
       text-decoration: none;
  }

css中顏色的表示方式


css中顏色的表示方式:
1.預定義的顏色【關鍵字顏色】   red   pink  blue yellow
2.#6位數的色值   #00-00-00 紅綠藍
3.rgb(紅,綠,藍)   :rgb([0-255],[0-255],[0-255])
4.rgba(red,green,blue,透明度)   :rgba([0-255],[0-255],[0-255],[0-1])
0-1:  0全透明,1不透明

html中的標簽和屬性

html:
標簽:
按照語法分類:
  1.單標簽:只有開始標簽
        meta img a
  2.雙標簽:有開始標簽和結束標簽
       <html></html>
  3.屬性的語法
  語法:
    屬性名 = "屬性值"
    屬性名 = "屬性值1 屬性值2"
註意:
  1、標簽名和屬性名之間要有空格
  2、多個屬性之間要有空格
  3、多個屬性值之間要有空格
4.開始標簽 標簽名後有空格

按照標簽在頁面中的呈現效果分類:
  1、行內元素
      行內元素定義:在一行內顯示,只能設置左右間距,不可以設置上下間距。
      舉例:span del i em b strong a(title="滑鼠移入時顯示的文字";target=" "(新視窗打開的位置 _self:在本視窗打開;_blank:在新視窗打開) ...
  2、塊元素
      塊元素定義:可以設置寬高,獨占一行。
      舉例:div 標題標簽 列表標簽 段落標簽 ...
  3、行內塊元素
      行內塊元素定義:可以設置寬高,在一行顯示。
      舉例:img 【title="滑鼠移入時顯示的文字" 】 表單控制項
元素的轉換
  塊元素:   display:block;
  行內塊元素:display:inline-block;
  行內元素: display:inline;
元素的級別
塊元素 > 行內塊元素 > 行內元素
元素嵌套規範
  1、同一級別可以相互嵌套
  2、級別高的元素可以嵌套級別低的元素
  3、段落標簽只能嵌套行內元素
  4、a標簽不可以嵌套a標簽;p不能嵌套p

盒子模型及其問題


四部構成:
   1、margin 外間距 盒子與盒子之間的距離
   2、border 邊框
   3、padding 內填充(內間距) 邊框與內容之間的距離。
   4、content 內容
margin-top \ margin-right \margin-bottom \margin-left
   margin: 50px; 上 右 下 左
   margin: 50px 100px; 上下   左右
       margin:0 auto;  auto自動
   margin: 50px 100px 150px; 上 左右 下
   margin: 50px 100px 150px 200px; 上 右 下 左
   border: 1px solid red;
   border-top \ border-right \border-bottom \ border-left
border-top-width:上邊框的寬度

padding:設置方法同margin

content: ;
   width : 數值 百分比 auto
   height: 數值 百分比 auto

盒子模型的問題:
   1.大部分元素的margin和padding預設為0,但有一部分的margin和padding不為0,例如body 標題標簽(h1-h6)(ul ol  il等列表標簽) 段落標簽
   2.想領的兩個塊元素的margin會重合,值會取最大值
   3.margin可以為[負數]   ,padding不可以設置[負數]。
   4.行內元素margin只有左右,沒有上下
   5.如果(1)發生嵌套關係的元素,(2)父元素沒有上邊框,(3)上padding ,(4)父元素與子元素之間沒有別的內容,此時子元素margin-top就會作用到父元素身上
margin-top的解決方式:
   1.用父元素的padding-top代替子元素的margin-top;
   2.給父元素添加overflow:hidden;
 

寬高的設置和計算


height:auto / 百分比 /   px;
width:auto / 百分比 /   px;
height:auto; 參照與父元素
width:auto;參照與內容
box-sizing:border-box; 將邊框算入盒子內;

一個元素實際的寬高
實際寬度 = border-left + padding-left + width +paddint-right + border-right;
實際高度 = border-top + padding-top + height + padding-bottom + border-bottom;

浮動


作用:讓塊元素橫排排列
樣式: float:left;從左往右排列
   float:right;從右往左排列
原理:讓元素脫離文檔流,讓元素從文檔層浮動到浮動層。
引發的問題:父元素不設置高度,子元素都浮動,浮動的子元素撐不開父元素。(浮動的元素脫離文檔流)
*解決方式一:給父元素添加  overflow:hidden;(超出部分隱藏)
*解決方式二:在父元素內容最後添加擁有清除浮動屬性的元素。
clear:right/left/both ; 別的浮動對它的影響清除掉
例:
               .box:after{
                   content: "";
                   display:block;
                   width: 0;
                   height: 0;
                   clear:both;
              }
*解決方式三:父元素能設置高度的儘量設置高度
浮動之後的塊元素參照內容:屬性值 auto

定位


定位的元素脫離文檔層,到達定位層
定位的元素會多出5個樣式:
top right bottom left z-index:999
上   右   下   左   層級(層級越高,離用戶越近)【只能在有定位屬性的元素上才能用】
層級:
z-index:整數;
定位的幾種方式:
1.相對定位:
相對於自身來定位,在文檔層中保留原來的位置
用法:
    position:relative;
2.絕對定位:
相對於最近的 定位的 祖先元素 來定位,完全脫離文檔流(其他頂替其位置)
用法:
    position:absolute;
+方向值
3.固定定位:
相對於瀏覽器的四條邊,完全脫離文檔流
用法:
   position:fixed;
top與bottom同時定義,那個樣式會作用到元素身上的判斷關係:
      top的權重比bottom的權重大
      left的權重比right的權重大
元素作用時:
   1.如果是
       position:relative;
       left:;
       margin:;
      先作用margin,在作用relative;
   2.如果是
       position:absolute;
       left:;
       margin:;
      先作用absolute,在作用margin;
定位元素的居中方式:
方法一:
1.水平居中:
position:absolute;
left:50%;
margin-left:-自身長度的一半;
2.垂直居中:
position:absolute;
top:50%;
margin-top:-自身長度的一半;
3.絕對居中:
position:absolute;
left:50%;
top:50%;
margin-left:-自身長度的一半;
margin-top:-自身長度的一半;
方法二:
1.水平居中:
position:absolute;
left:0;
right:0

2D和3D


2D和3D屬性:
1.平移樣式
transform:translate(x,y); 向上為負, 向下為正
transform:translateX(100px);
transform:rotate(180deg)   ; (1turn)轉一圈
平移  transform:translate()   例子:translate(x,y) translateX()
旋轉  transform:rotate()   例子rotate(180deg)順時針   -180deg 逆時針
transform:rotate()空格translate();
      transform-origin:px px;變換的中心點;
left center;
縮放  transform:scale() 例子:scale(2) 放大為原來的2倍  scale(0.n)縮小為原                                       來的0.n   scale(m,n)  x軸m,y軸n
斜切  transform:skew() 例子:skew(45peg) 左拉伸45°  skew(45peg,m)
     
2. 過渡transition
transition:all 0.5s;
  全部 時間
3.過渡的屬性樣式:  transition-property:   ,   ;
  可以為:屬性的全部樣式
4.過度的總時間: transition-duration:;
5.過渡的時間函數: transition-timing-function:;
linear(勻速)   ease(開頭結尾慢,中間快)
cubic-bezier(1,0.07,0.54,0.21) 貝塞爾曲線
6.延遲   transition-delay:;

3d效果:和2d的一樣transition,transform;
   prespective:給父元素加prespective(滅點的值)
   prespective-origin:x y;滅點的位置   調整觀察的角度(大多數情況不設置)
   transform:ratate3d(0-1的值,0-1的值,0-1的值,45deg)
       transform:ratateY(45deg)
   transform:translate3d(0-1,0-1,px)

父元素:transform-style:preserve-3d;

動畫


動畫規則:
@keyframes 動畫名(隨便給){
(動畫規則)
from{}
to{}
}
@keyframes 動畫名(隨便給){
(動畫規則)
0%{}
50%{}
100%{}
}
@keyframes animation1{
from{
  background-color:red;
}
to{
  background-color:blue;
}
}

掛載動畫:將動畫加到元素身上
.元素{
animation:animation1 時間 步數 時間函數 延遲時間 次數 ;
}
掛載多個動畫:
.元素{
animation:animation1 時間,animation2 時間,animation1 時間;
        其他動畫的相同的可以附件通過animation屬性;
}
animation的樣式
動畫名:animation-name
時間: animation-duration
步數:animation-steps:8;
時間函數:animation-timing-function
延遲: animation-delay
動畫次數: animation-iteration-count:infinite(無限次)/2;
指定下一次動畫是否逆向:animation-direction:alternate(逆向)/ normal(常規);
最後的狀態:animation-fill-mode:backwards(預設(保持一開始的狀態))/forwards(保持當前的狀態);
狀態即指定動畫是否運動: animation-play-state: running(運行)/paused(靜止);

元素分類


按照在頁面中的呈現效果:
1.行內元素:在一行內顯示 ,不可以設置寬高 :(存放文字)
span a b i strong del
2.行內塊元素:在一行內顯示,可以設置寬高:(有縫隙   不常用)
img 表單控制項
3.塊元素 :可以設置寬高,獨占一行
div 標題標簽(h1-h6) 列表標簽(ul-li  ol-li     dl>dt+dd 段落標簽 (p pre))
元素嵌套規範:
   1.同一級別可以相互嵌套
   2.級別高的可以嵌套級別低的元素
   3.p標簽只能嵌套行內元素
   4.a鏈接不能相互嵌套
元素的轉換:
   1.塊元素:display:block;
   2.行內塊元素:display:inline-block;
   3.行內元素:display:inline;

背景圖片以及瀏覽器內核


背景圖
  先設大小,在引background;
   background: url('路徑') no-repeat left bottom/contain;
            //圖片位置   禁止重覆 位置(top bottom left right)
1. 路徑:background-image:url(“”),url(“”);載入多張背景圖
2. 背景圖大小:  background-size:100px auto,100px auto; 會重覆
3. 背景的圖重覆:
     background-repeat:no-repeat,repeat;(無重覆)
     background-repeat:repeat-x(x方向重覆)
     background-repeat:repeat-y(y方向重覆)
4. 背景圖的位置:
     background-position:x  y;(數值 方位值(top/bottom  left/right center(可以省略)) )
5. 背景開始渲染的位置: background-origin:   ;
padding-box;(預設)從padding位置開始渲染
border-box;從邊框的位置開始渲染
content-box;從內容的位置開始渲染
6. 圖片結束渲染的位置:background-clip: ;
padding-box;(預設)從padding位置結束渲染
border-box;從邊框的位置結束渲染
content-box;從內容的位置結束渲染
7. 使得背景圖載入到瀏覽器中
background-attachment: fixed;
8.可以簡寫:
background:空格隔開;
9. 背景圖漸變
background: linear-gradiend(top,顏色1,顏色2,顏色n)
                      //漸變開始的方向(預設top) 類似25deg(25度)
10.瀏覽器內核//背景色漸變
1.  /* 標準語法 */
例子:background: linear-gradient(top,#3bbcff,#47eaff);
2.  /* 谷歌內核 -webkit- */
例子:background: -webkit-linear-gradient(top,#3bbcff,#47eaff);
3. /* 火狐內核 -moz- */
例子:background: -moz-linear-gradient(top,#3bbcff,#47eaff);
4. /* 歐鵬內核 -o- */
例子:background: -o-linear-gradient(top,#3bbcff,#47eaff);
5. /* IE內核 -ms- */
例子:background: -ms-linear-gradient(top,#3bbcff,#47eaff);

文件的讀取方法路徑


絕對路徑:從盤符開始的一條完整路徑
相對路徑:兩個文件的位置關係

邊框的相關屬性【圓角,邊框形狀】


border-radius:邊框的半徑   設置圓角 n%或者num像素
border-style:dotted solid double dashed;
    上邊框是點狀
    右邊框是實線
    下邊框是雙線
    左邊框是虛線

透明度


透明性的選擇:(整個容器都變)
opacity:;0-1之間的值;

字體


font-family =“ 字體”     //字體樣式可以被繼承

滑鼠移入樣式


span標簽
 cursor:pointer;   滑鼠樣式:手型

陰影


box-shadow:x軸偏移量  y軸偏移量 陰影的模糊程度 陰影的大小(0和本身一樣大小) 陰影的顏色;

引入字元圖標


引入字元圖標:
行內元素 隨意  
span  class=“iconfont 圖標類名”
可調節樣式: 同文字

文檔流


文檔流:
    標準情況下 ,頁面元素從左往右 從上往下 依次排列

flex佈局(規範的設計稿)-彈性佈局


容器(父元素)的屬性:【display:flex;】
*flex-direction: 決定主軸方向。
       row 主軸在水平方向,從左向右(預設)。
       row-reverse 主軸在水平方向,從右向左
       column 主軸在垂直方向,從上到下
       column-reverse 主軸在垂直方向,從下到上
*flex-wrap: 決定項目換行
wrap: 項目換行
nowrap: 項目不換行(預設值)
wrap-reverse: 項目換行且反轉
*justify-content: 決定項目在主軸的對齊方式
flex-start;主軸的起點
flex-end;主軸的終點
center;主軸的中心
space-between;兩端對齊
space-around;項目兩側距離相等
*align-items:項目在交叉軸上的對齊方式(適用於一根軸線與多跟軸線)
flex-start:交叉軸的起點
flex-end:交叉軸的終點
Center:交叉軸的中心
baseline: 基線對齊(文本底部)
*align-content:定義項目在交叉軸上的對齊方式(僅適用於多根軸線)
flex-start;交叉軸的起點
flex-end;交叉軸的終點
center;交叉軸的中心
space-between;兩端對齊
space-around;兩側距離相等
子元素(項目)的屬性:
*order:定義項目的排列順序,數值越小,越靠前,預設值為0(可以取負值)。
*flex-grow:定義項目的放大比例。預設值為0,即使存在剩餘空間,也不放大。
*flex-shrik:定義項目的縮小比例,預設值為1,空間不足,項目縮小;值為0時,空間不足,項目也不縮小.
*flex-basis: 定義項目占據的主軸空間.預設auto或者自己添加像素;
*align-self:定義單個項目在交叉軸的對齊方式.
flex-start:交叉軸的起點
flex-end:交叉軸的終點
Center:交叉軸的中心

滾動條


overflow-x:auto;超出部分在x軸的表現形式。
           auto:自動;(如果超出,就自動以滾動條的形式顯示)
去滾動條: 加在具有overflow屬性的元素身上
  ::-webkit-scrollbar{
       height:0;
}
overflow-x: visible|hidden|scroll|auto|no-display|no-content;
                    描述                     測試
visible         不裁剪內容,可能會顯示在內容框之外。       測試
hidden       裁剪內容 - 不提供滾動機制。             測試
scroll       裁剪內容 - 提供滾動機制。                 測試
auto       如果溢出框,則應該提供滾動機制。         測試
no-display   如果內容不適合內容框,則刪除整個框。           測試
no-content   如果內容不適合內容框,則隱藏整個內容。       測試

輪播圖


swiper(.js).com

表格


<table border="" width="" bgcolor="背景色" cellspacing="設置單元格間的距離" cellpadding="內填充:內容到邊框的距離" >
   <tr bgcolor="">[行]
       <td></td>[列]
       
   </tr>
</table>

table身上的屬性


table身上的屬性:
   border:表格邊框 cellspacing:單元格間的間距
   cellpadding:單元格的內容與其邊框的內邊距
   bgcolor:表格的背景顏色 background:表格的背景圖片
   width:表格寬度 height:表格高度
   border-collaspe:collaspe:邊框合併,不疊加 cellspacing:0:邊框合併,但合併之後的邊框寬度等於 前兩個邊框寬度之和
   caption:表格標題
background:表格背景圖
cellspacing:單元格之間的間隙寬度
align:表格的水平對齊方式,通常是left,center,right

表格的標題


<caption align="水平對齊方式" valign="標題與表格的相對位置"></caption>

單元格【tr】【td】


width:單元格寬度height:單元格高度
align:單元格內文本的對齊方式,通常是左,中,右 left,center,right
valign:單元格內文本的對齊方式,通常是上,中,下 top,middle,bottom
nowrap:在為設置單元格寬度時,當文本長度寬於單元格寬度,將要換行時,該標簽會使其不換行

  <tr align="center" valign="bottom">
      <td align="center" nowrap>手機空中免費充值</td>
      <td width="100px">IP卡</td>
      <td width="100px" bgcolor="#006400" valign="top">網游</td>
  </tr>

表格的跨行與跨列【td】


rowspan:跨行標簽,表示跨了多少行
colspan:跨列標簽,表示跨了多少列
<table border="3" bordercolor="plum" width="300" height="100" align="center" cellspacing="0">
  <tr>
      <td rowspan="6" background="../img/4.jpg"></td>
      <td rowspan="3"></td>
      <td rowspan="2"></td>
      <td></td>
  </tr>
  <tr>
      <td ></td>
  </tr>
  <tr>
      <td rowspan="2"></td>
      <td></td>
  </tr>
  <tr>
      <td rowspan="3"></td>
      <td></td>
  </tr>
  <tr>
      <td rowspan="2"></td>
      <td></td>
  </tr>
  <tr>
  <td></td>
  </tr>
</table>

表格標簽拓展及其屬性


   thead:定義表格的表頭。
   tbody:定義表格主體(正文)。
   tfoot:定義表格的頁腳(腳註或表註)。
   colgroup:標簽用於對錶格中的列進行組合,以便對其進行格式化。
  註意:不管thead、tbody、tfoot的代碼先後順序如何,html顯示時,始終是先顯示thead,再顯示tbody,最後顯示tfoot。
1、<thead> 內部必須擁有 <tr> 標簽!
2、<tfoot> 元素內部必須包含一個或者多個 <tr> 標簽。
3、<tbody> 元素內部必須包含一個或者多個 <tr> 標簽。
4、必須在 table 元素內部使用這些標簽。
5、當不同行間的單元格合併時各單元格所在的行不要加
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • electron-vue 開發環境搭建(Windows環境) ...
  • 標題寫的全面一些,方便其他人檢索,我就是找了半天找不到資料,最後自己搞定了。 原理: 每次監聽到輸入值變化,就打一個時間戳,然後暫停2秒再去提交post驗證。 但是每次提交前,判斷一下之前打的時間戳和現在時間是否大於2秒,如果大於,則真去提交post,否則return掉不執行。 以下是代碼片段: ...
  • HTML: JS: start:就為你選擇的開始日期; end:就為你選擇的結束日期 此方式可選擇任意範圍的時間,時間格式可任意修改。 註:如果照片看不清,可以將網頁適當放大,以便觀看—謝謝。 ...
  • npm是Node Package Manager,也就是長說的NPM包管理器. 一般安裝node.js就會一起安裝. npm install npm install XXX //表示安裝模塊, 預設會安裝最新的安裝包 npm install [email protected] //表示安裝指定版本的安裝包,安裝完成 ...
  • jQuery概述 js與jQuery 獲取的對象 jQuery獲取的是jquery對象,js獲取的是js對象(dom對象),dom對象不能調用jquery的方法,jquery對象也不能調用dom對象的方法 dom對象轉換為jQuery對象:$(dom對象) 層級選擇器 子代選擇器 $("ul>li" ...
  • 組成 作用:(運營在用戶端瀏覽器) 特征:面向對象 BOM: 瀏覽器對象模型 完成視窗與視窗之間的通信,window對象是其核心對象, history【前進,後退,刷新】 是一個對象 使用【window.history】 location【地址】 DOM【】 screen【屏幕】 frames[真窗 ...
  • React Hooks是React 16.8發佈以來最吸引人的特性之一。在開始介紹React Hooks之前,讓咱們先來理解一下什麼是hooks。wikipedia是這樣給hook下定義的: In computer programming, the term hooking covers a ran ...
  • 設計: 通過終端git / cmd 獲取用戶輸入路徑,然後遍歷路徑下所有的文件,列印輸出。 因為需要命令行交互,所以引入prompt庫 (https://github.com/flatiron/prompt) 。 基於node的fs模塊完成。以下是代碼: 返回結果實例: ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...