日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > CSS >内容正文

CSS

CSS.笔记案例

發布時間:2024/3/13 CSS 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CSS.笔记案例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、CSS簡介

1.什么是CSS

CSS,Cascading Style Sheet層疊樣式表
是一組樣式設置規則,用于控制頁面的外觀樣式

2.為什么使用CSS

實現內容與樣式的分離,便于團隊開發
樣式復用,便于網站的后期維護
頁面的精確控制,讓頁面更精美

3.CSS作用

頁面外觀美化
布局和定位

二、基本用法

1、CSS語法

<head><style>選擇器{屬性名:屬性值;屬性名:屬性值; }</style> </head>

選擇器:要修飾的對象(東西)
屬性名:修飾對象的哪個屬性(樣式)
屬性值:樣式的取值

案例

<!DOCTYPE html> <html lang="en"> <head><meta charset="utf-8"><title>Document</title><style>P{color:red;}h2{color:blue;}</style> </head> <body><p>css從入門到精通</p><h2>主講</h2> </body> </html>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-1lJxRL68-1593495123236)(C:\Users\lenovo\Desktop\作業\html\2\2020-03-24 20_56_17-.png)]

2、CSS應用方式

也稱為CSS引用方式,有三種方式:內部樣式、行內樣式、外部樣式

2.1 內部樣式

也稱為內嵌樣式,在頁面頭部通過style標簽定義
對當前頁面當中所有符合樣式選擇器的標簽都起作用

2.2 行內樣式

也稱為嵌入樣式,使用HTML標簽的style屬性定義
只對設置style屬性的標簽起作用

2.3 外部樣式

使用單獨的CSS文件定義,然后在頁面中使用 link標簽 或 ***@import***指令 引入
使用 link標簽 鏈接外部樣式文件(推存用法)

<link rel="stylesheet" type="text/css" href="css樣式文件路徑">

type屬性可以省略
@import指令 導入外部樣式文件

<style>@import "CSS樣式文件的路徑";@import url(CSS樣式文件的路徑); </style>

案例

<!DOCTYPE html> <html lang="en"> <head><meta charset="utf-8"><title>Document</title><style>/*內部樣式(并沒有實現樣式與內部的分離)*/p{color:red;}</style><!-- 外部樣式 link標簽鏈接樣式文件--><link rel="stylesheet" type="text/css" href="style/hello.css"><!-- 外部樣式 @import導入樣式文件--><style>/* @import "style/hello.css"*/</style> </head> <body><p>welcome to css</p><p>歡迎來到css課堂</p><h2 style="color:blue">web前段工程師</h2><h2>Java開發工程師</h2><div>哈哈</div><div>嘿嘿</div> </body> </html>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-53nCLjoT-1593495123239)(C:\Users\lenovo\Desktop\作業\html\2\2020-03-24 20_57_26-Document - 2345加速瀏覽器 10.7.png)]

三、選擇器

1、基礎選擇器

1.1 標簽選擇器

也稱為元素選擇器,使用HTML標簽作為選擇器名稱
以標簽名作為樣式應用的依據

1.2 類選擇器

使用自定義名稱,以 .點號 作為前綴,然后通過HTML標簽的class屬性調用類選擇器
以標簽的class屬性作為樣式應用的依據
注意事項:
調用時不能添加 .點號
同時調用多個類選擇器時以 空格 分隔

類選擇器定義時,名稱不能以數字開頭

1.3 ID選擇器

使用自定義名稱,以 # 號作為前綴,然后通過HTML標簽的id屬性進行名稱匹配
以標簽的id屬性作為樣式應用的依據,一對一的關系

2、復雜選擇器

2.1 復合選擇器

標簽選擇器和類選擇器、標簽選擇器和ID選擇器,一起使用
必須同時滿足兩個條件才能應用樣式

2.2 組合選擇器

也稱為集體聲明
將多個具有相同樣式的選擇器放在一起聲明,使用逗號隔開

2.3 嵌套選擇器

在某個選擇器內部再設置選擇器,通過空格隔開
只有滿足層次關系最里層的選擇器所對應的標簽才會應用樣式
注意:使用 空格 時不區分父子還是后代,使用CSS3中新增的 > 時必須是父子關系才行

2.4 偽類選擇器

根據不同的狀態顯示不同的樣工,一般用于 標簽
四種狀態:
:link 未訪問的鏈接
:visited 已訪問的鏈接
:hover 鼠標移動到鏈接上,即懸浮在鏈接
:active選定的鏈接,被激活
注意:默認超鏈接為:藍色,下劃線

2.5 偽元素選擇器

:first-letter為第一個字符的樣式
:first-line:為第一行添加樣式
:before:在元素內容的最前面添加的內容,需要配合content屬性使用
:after:在元素內容的最后面添加的內容,需要配合content屬性使用

案例

<!DOCTYPE html> <html lang="en"> <head><meta charset="utf-8"><title>Document</title><style>p:first-letter{color:red;font-size:30px;}p:first-letter{background:yellow;}p:before{content:"嘿嘿";}p:after{content:"哈哈";}</style> </head> <body><p>hello world</p><hr><p>hello world<br>welcome to</p> </body> </html>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-zwWgKm6v-1593495123241)(C:\Users\lenovo\Desktop\作業\html\2\2020-03-28 20_46_50-Document - 2345加速瀏覽器 10.7.png)]

3.選擇器優先級

3.1 優先級

行內樣式>ID選擇器>類選擇器>標簽選擇器
原因:首先加載標簽選擇器,再加載類選擇器,然后加載ID選擇器,最后加載行內樣式
后加載會覆蓋先加載的同名樣式

3.2 內外部樣式加載順序

就近原則
原因:按照書寫順序依次加載,在同優先級的前提下,后加載的會覆蓋先加載的同名樣式,所以離的越近
越優先

3.3 !important

可以使用!important使某個樣式有最高的優先級

案例

<!DOCTYPE html> <html lang="en"> <head><meta charset="utf-8"><title>Document</title>/*<link rel="stylesheet" type="text/css" href="style/world">*/<style>div{font-size:20px;color:red;}.hello{font-weight:bold;color:blue;}#world{text-decoration:underline;color:green;}</style> <link rel="stylesheet" href="style/world.css"></head> <body><div class="hello" id="world" style="color">css</div><p>主講</p> </body> </html>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-xvSIwb3w-1593495123245)(C:\Users\lenovo\Desktop\作業\html\2\2020-03-28 20_43_55-Document - 2345加速瀏覽器 10.7.png)]

四、常用的css屬性

1.字體屬性

定義字體相關的樣式

屬性含義說明
font-size大小,尺寸可以使用多種單位
font-weight粗細
font-family字體
font-style樣式
font簡寫
1.1 font-size

取值:

  • inherited繼承,默認從父標簽繼承字體大小(默認值),所有CSS屬性的默認值都是inherited
  • px 像素 pixel
  • %百分比,想對于父標簽字體大小的百分比
  • em倍數,相對于父標簽字體大小的倍數

HTML根元素默認字體大小為16px,也稱為基礎字體大小

1.2 font-weight

取值:

  • normal普通(默認)
  • bold粗體
  • 自定義400 normal 700 bold
1.3 font-family

是求系統中要安裝指定的字體

一般建議寫3種字體,首選,其次,備用,以逗號隔開

1.4 font-style

取值:

  • normal普通
  • italic斜體
1.5 font

簡寫屬性:font:font-style|font-weight|font-size|font-family

必須此順序書寫

案例

<!DOCTYPE html> <html lang="en"> <head><meta charset="utf-8"><title>Document</title><style>div{font-size:30px;}p{/*font-size:20px;*//*font-size:80%;*/font-size:2em;}span.hello{/*font-size:80%;*/font-size:2em;}body{font-size:62.5%;}r#ddd{font-size:3em;}ul li{/* font-size:30px;font-weight:700;font-family:華文行楷,黑體,宋體;font-style:normal; */font:italic bold 20px 黑體,楷體,宋體;}</style> </head> <body><p>css入門到精通<span>主講:高職培訓</span></p>主講:hecter<hr><div>我的div<p>css入門到精通<span>主講:高職培訓</span></p></div><hr><span class="hello">主講:高職培訓</span><hr><ul><li>嘿嘿</li></ul> </body> </html>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-lqX1X4DN-1593495123246)(C:\Users\lenovo\Desktop\作業\html\2\2020-03-31 20_02_42-Document - 2345加速瀏覽器 10.7.png)]

2.文本屬性

屬性含義說明
color顏色
line-height行高行之間的高度
text-align水平對齊方式取值:left、center、right
vertical-align垂直對齊方式取值:top、middle、bottom可用于圖片和文字的對齊方式
text-indent首行縮進
text-decoration文本修飾取值:underline、overline、line-through
text-transform字母大小寫取值:lowercase、uppercase、capitalize首字母大寫
letter-spacing字符間距
word-spacing單詞間距只對英文有效
white-space空白的處理方式文本超出范圍后是否換行顯示,取值:nowrap
2.1 color

取值:四種寫法

  • 顏色名稱:使用英文單詞

  • 16進制的RGB取值:#RRGGBB

    特定情況下可以縮寫

    #FFFFFF--->#FFF 白色 #000000--->#000 黑色 #FF0000--->#F00 紅色 #00FF00--->#0F0 綠色 #0000FF--->#00F 藍色 #CCCCCC--->#CCC 灰色 #FF7300--->無法簡寫

    注意:不區分大小寫

  • rgb 函數:rgb(red、green、blue)

    每種顏色的取值范圍,[0,255]

    rgb(255,0,0)----->紅 rgb(0,255,0)----->綠 rgb(0,0,255)----->藍
  • rgba函數:rgba(red,green,blue,alpha)

    可以設置透明度,alpha取值范圍:[0,1] 0表示完全透明 1表示完全不透明

    rgba(255,0,0,1)----->純紅 rgba(255,0,0,0.5)----->紅色半透明

    案例

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>/* div{color: red;background-color:#cccccc;background-color:transparent;background-image:url(../images/heihei.gif);}*/</style><link rel="stylesheet" type="text/css" href="style.css"> </head> <body><div><p>welcome to css welcome to css welcome to css </p><p>welcome to css welcome to css welcome to css </p><p>welcome to css welcome to css welcome to css </p></div><hr><p class="cart"></p>購物車 </body> </html> div{color: red;/* background-color:#cccccc;background-color:transparent;background-image:url(../image/heihei.gif);background-repeat:no-repeat;background-position:right top;height: 100px;background-attachment:fixed;*/background:red url(../../images/qq.jpg) repeat-x 30px 100px;}.cart{width:30px;height: 30px;background-color:#ccc;background-image:url(../image/icon.gif);background-color:transparent;background-position:-160px -30px;}

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-p0ReZxrf-1593495123248)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-04 20_49_06-圖片預覽.png)]

3.背景屬性

屬性含義說明
background-color背景顏色
background-image背景圖片
background-repeat背景圖片的重復方式
background-position背景圖片的顯示位置
background-attachment背景圖片是否跟隨滾動
background簡寫
3.1 background-color

取值:transparent 透明

3.2 background-image

必須使用url()方式指定圖片的路徑
如果是在css樣式文件中使用相對路徑,此時是相對于css文件,不是相對html文件

3.3 background-repeat

取值:repeat(默認),repeat-x,repeat-y,no-repeat

3.4 background-position

默認背景圖顯示在左上角
取值:
關鍵字:top、bottom、left、right、center
坐標:左上角為(0,0)坐標,向右為x正方向,向下為y正方向
CSS雪碧圖,即CSS Sprites,也稱為CSS精靈,一種CSS圖像合并技術
含 義:將網頁中許多非常小的圖標/圖片整合到一張大圖中,當訪問面面時只需要下載一次,可以減少訪問
服務器的次數,提高性能
原理:使用background-position進行背景定位,使用坐標精確地定位出背景圖片的位置

3.5 background-attachment

取值:scroll(默認)、fixed固定不動

3.6 background

簡寫屬性:background:background-color|background-image|background-repeat|background-position
以空格隔開,書寫順序沒有要求

4.列表屬性

屬性含義說明
list-style-type設置列表前的標記
list-style-image將圖像作為列表前的標記
list-style-position設置標記的位置取值:outside(默認)、inside
list-style簡寫
4.1 list-style-type

取值:none、disc、circle、square、decimal
此時不再區分有序列表還是無序列表,只要設置列表前的標記就可以了

4.2 list-style

簡寫屬性:list-style:list-style-type|list-style-image|list-style-position
書寫順序沒有要求

案例

<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>/* li{list-style-type:decimal;}*/.first{list-style-type:decimal;}.second{/* list-style-type:square;*/list-style-image:url(../images/male.gif);}.third{list-style-type:circle;list-style-position:inside;}.fourth{/* list-style:squareurl url(../images/female.gif) inside;*/list-style:none;}.nav{list-style:none;}.nav li{list-style:none;float:left;width:50px;}</style></head> <body><ul><li class="first">hello</li><li class="second">hello</li><li class="third">hello</li><li class="fourth">hello</li></ul><hr><nav><ul class="nav"><li>新聞</li><li>地圖</li><li>視頻</li><li>貼吧</li></ul></nav> </body> </html>

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-D97oJQT7-1593495123249)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-04 20_42_25-Document - 2345加速瀏覽器 10.7.png)]

5.表格屬性

border-collapse:表格中相鄰的邊框是否合并(折疊)為單一邊框
取值:separated(默認) collapse

6.使用LiveReload

可以實現當保存頁面文件時實時刷新瀏覽器
步驟:

  • 在Chrome瀏覽器中安裝 LiveReload 擴展程序
    將livereload.rar文件解壓–>在chrome瀏覽器的右上角找“…”–>更多工具–>擴展程序–>提示:需要打
    開開發者模式–>加載已解壓的擴展程序–>注意后項的操作 勾選"允許訪問所有網站留存數據"

  • 在Sublime中安裝LiveRelad插件
    LiveRelad-sublime.rar 解壓放到sublime的插件目錄中(packages)中

  • 配置sublime中的LiveRelad插入
    preference–>packages settings–>LiveReload–>settings - default

  • "enabled_plugins": ["SimpleReloadPlugin""SimpleRefresh"] <meta charset="UTF-8"><title>Document</title><style>table{width: 500px;border:1px solid red;border-collapse:collapse;}td{border:1px solid red;}</style> </head> <body><table cellpadding="0" cellspacing="0" ><tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr>1<tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr><tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr></table> </body> </html>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6xEvhLTE-1593495123251)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-04 20_38_41-Document - 2345加速瀏覽器 10.7.png)]

  • 在瀏覽器中啟用LiveReload
    先打開要訪問的頁面,然后點擊瀏覽器地址欄右邊的黑色圓圈,當中心的小圓圈變成實心時表示已啟

  • 在sublime中啟用LiveReload
    按ctrl+Shift+P–>搜索livereload,選擇enable–>搜索simple reload:選擇enable

  • 五、盒子模型

    1.簡介

    盒子模型是網頁布局的基礎,將頁面中所有元素均看作是一個盒子,盒子都包含以下幾個屬性:

    • width 寬度
    • height 高度
    • border 邊框
    • padding 內邊距
    • margin 外邊距

    2.盒子模型

    2.1 border

    盒子的邊框

    分為4個方向:

    ? 上top、右right 、下bottom、左left

    ? border-top、border-right、border-bottom、border-left

    每個邊框都包含三種樣式:

    ? 顏色:color、粗細width、樣式style

    ? border-top-color、border-top-width、border-top-style

    ? border-right-color、border-right-width、border-right-style

    ? border-bottom-color、border-bottom-width、border-bottom-style

    ? border-left-color、border-left-width、border-left-style

    樣式的取值:

    ? solid實線、dashed虛線、dotted點線、double雙線、inset內嵌3D線、outset外嵌3D線

    簡寫,三種方式:

    • 按方向簡寫

      border-top、border-right、border-bottom、border-left

      書寫順序:

      border-方向、width style color

    • 按樣式簡寫

      border-color、border-width、border-style

      書寫順序:

      border-樣式:top right、bottom、left

      必須按順時針方向書寫,同時可以縮寫

      ? border-width: 2px----->四個邊框寬度均為2px

      ? border-width: 2px 4px----->上下一樣 左右一樣

      ? border-width: 2px 3px 4px

      規則:如果省略,則認為上下一樣,左右一樣

    • 終極簡寫

      如果四個邊樣式完全相同,border-width style color

    2.2 padding

    表示盒子的內邊距,即內容與邊框之間的距離

    有四個方向:也可以簡寫,按順時針書寫

    默認:上下一樣,左右一樣

    注意:左右沖突以左為準,上下沖突以上為準

    2.3 margin

    表示盒子的外邊距,即盒子與盒子之間的距離

    同樣也分為四個方向,也可以簡寫(安順時針方向,默認上下一樣,左右一樣)

    居中對齊:

    /*元素的水平居中*/ /*1.塊級元素的水平居中*/margin:0 auto;/*提示:塊級元素必須指定寬度*//*2.文本的水平居中*/text-algin:center;/*3.垂直居中,將height和line-height設置為相同*/height:100px;line-height:100px;

    3.其他

    3.1 元素所占空間

    頁面中的元素實際所占的空間

    • 寬度=width+左右padding+左右border+左右margin
    • 高度=height+上下padding+上下border+上下margin
    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>p{width:250px;background:#ccc;}.first{/*border-top-color:red;border-top-width:1px;border-top-style:solid;border-right-color:blue;border-right-width:2px;border-right-style:dashed;border-bottom-color:green;border-bottom-width: 4px;border-bottom-style: dotted;border-left-color:gray;border-left-width:6px;border-left-style:double; *//*border-top:1px;border-bottom: 2px dashed blue;*//*border-color:red green pink;border-width: 1px 2px 4px 6px;border-style:solid dashed dotted double;*/border:1px dotted red;}.second{/* padding-top:15px;padding-left:10px;padding-bottom:20px;padding-right:30px;padding: 1px 2px 4px 6px;*/padding:5px 20px 20px 4px;}</style> </head> <body><p class="first">welcome to html</p><p class="second">welcome to css</p><p class="third">welcome to java</p> </body> </html>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Wrv8aXnX-1593495123253)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-08 17_36_55-Document - 2345加速瀏覽器 10.7.png)]

    3.2 盒子屬性默認值

    不同標簽的盒子屬性默認值可能不同,需要自己設置

    body,ul,ol,dl,li,p,form,h1,h2,h3,h4,h5,h6{margin:0;padding:0;} <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>/* body默認margin不為0 */body{margin:0;padding:0;}/* p默認margin也不為0 */p{margin:0;}ul{list-style:none;margin:0;padding:0;}body,ul,ol,dl,li,p,form,h1,h2,h3,h4,h5,h6{margin:0;padding:0;}</style> </head> <body>welcome to css<p>hello world</p><ul><li>hello1</li><li>hello2</li><li>hello3</li></ul> </body> </html><!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>/* body默認margin不為0 */body{margin:0;padding:0;}/* p默認margin也不為0 */p{margin:0;}ul{list-style:none;margin:0;padding:0;}body,ul,ol,dl,li,p,form,h1,h2,h3,h4,h5,h6{margin:0;padding:0;}</style> </head> <body>welcome to css<p>hello world</p><ul><li>hello1</li><li>hello2</li><li>hello3</li></ul> </body> </html>

    3.3 外邊距的合并

    也稱為外邊距的折疊,指的是兩個塊級元素垂直外邊距相遇時,他們將合并為一個外邊距,合并后的外邊距值為其中較大的那個外邊距值

    兩種情況:

    • 當一個元素出現在另一個元素上面時,第一個元素的下邊距與第二個元素的上邊距會發生合并
    • 當第一個元素包含在另一個元素中時,并且沒有內邊距或邊框把外邊距分隔開時,兩個元素的上外邊距會發生合并

    外邊距合并的好處,讓排版在視覺上顯得更美觀

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>div{width:50px;height:50px;background:#ccc;}.div1{margin-bottom:20px;}.div2{margin-top:30px;}.div3{width:100px;height:100px;background: blue;margin-top:20px;/* border:1px soild red; */}.div4{margin-top:10px;}p{margin:20px 0;}</style> </head> <body><div class="div1">div1</div><div class="div2">div2</div><hr><div class="div3"><div class="div4"></div></div><hr><p>p1</p><p>p2</p><p>p3</p><p>p4</p><p>p5</p><p>p6</p><p>p7</p></body> </html>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wPkADch1-1593495123255)(C:\Users\lenovo\Desktop\作業\html\2\2020-03-31 20_06_44-圖片預覽.png)]

    六、定位方式

    1.簡介

    通過position屬性實現對元素的定位,有四種定位方式

    常用取值:

    取值含義說明
    static默認值按照常規文檔流進行顯示
    relative相對定位相對于標簽原來的位置進行的定位
    absolute絕對定位相對于第一個非static定位的父標簽的定位
    fixed固定定位相對于瀏覽器窗口進行定位

    設置定位方式后,還要設置定位屬性(偏移量):top、bottom、left、right

    2.相對定位

    先設置元素的position屬性為relative,然后在設置偏移量

    3.絕對定位

    先設置父標簽為非static定位,然后設置元素的position屬性為absolute,最后再設置偏移量

    注意:

    • 一般來說都會將父標簽設置為非static定位
    • 如果父標簽不是非static定位,則會相對于瀏覽器窗口進行定位
    • 設置元素為絕對定位后,元素會浮到頁面上方

    4.固定定位

    先設置元素的position屬性為fixed,然后再設置偏移量

    設置元素為固定定位后,元素會浮動在頁面上方

    5.z-index

    設置元素定位方式后,元素會浮在頁面上方,此時可以通過z-index屬性設置優先級,控制元素的堆疊順序

    取值為數字,值越大優先級越高,默認為auto(大多數瀏覽器默認為0)

    注意:只能給非static定位的元素設置z-index屬性

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>#container{width:800px;border:1px solid #000;position:relative;}.div1,.div2,.div3,.div4{width:100px;height:50px;}.div1{background:red;/* 默認為station *//* position:static; */position:relative;top:20px;left:50px;z-index:-5;}.div2{background:blue;position:absolute;left:100px;bottom:50px;z-index:-8;}.div3{background:green;position:fixed;bottom:50px;left:100px;}.div4{background:cyan;}</style> </head> <body><div id="container"><div class="div1">div1</div><div class="div2">div2</div><div class="div3">div3</div><div class="div4">div4</div></div> </body> </html>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Whkrgvyi-1593495123256)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-19 18_00_50-Document - 2345加速瀏覽器 10.8.png)]

    七、其他CSS屬性

    1.浮動和清除

    1.1 浮動屬性

    通過float屬性來實現元素的浮動,可以讓塊級元素脫離常規的文檔流,向左或向右移動,在同一行顯示,如果一行顯示不下,則會換行顯示

    常用取值:

    • left左浮動
    • right右浮動
    • none不浮動、默認值

    設置float屬性后,元素會浮在頁面上層,此時父容器無法計算自己的尺寸,如果我們還想顯示父容器通常會在末尾添加一個清除了float屬性的空的div來解決

    1.2 清除屬性

    通過clear屬性來實現清除,設置元素的哪一側不允許有浮動元素

    常用取值:

    • left左側不允許出現浮動元素
    • right右側不允許出現浮動元素
    • both兩側均不允許出現浮動元素
    • none允許兩側出現浮動元素,默認值

    結論:

    • 對于非浮動元素,兩邊都可以設置清除屬性(常用)
    • 對于浮動元素,向哪邊浮動,就只能設置哪邊的清除
    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>#container{/* width:800px; */border:1px solid #000;}.div1,.div2,.div3,.div4{width:300px;height:50px;}.div1{background:red;float:left;}.div2{background:blue;float:left;clear:left;}.div3{background:green;float:left;}.div4{background:cyan;float:left;}.clr{clear:both;}</style> </head> <body><div id="container"><div class="div1">div1</div><div class="div2">div2</div><div class="div3">div3</div><div class="div4">div4</div><div class="clr"></div></div>wellcme to CSS </body>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-JuRZBWrY-1593495123259)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-19 18_02_44-.png)]

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>body{margin:0;padding:0;}#container{width:960px;margin:0 auto;border:2px solid #0f0;}.div1,.div2,.div3,.div4{width:200px;height:180px;float:left;margin:5px;border:5px outset #ff7300;padding:10px;}#container img{width:100%;height:100%;}#container .clr{clear:both;}</style> </head> <body><div id="container"><div class="div1"><img src="../../images/adv1.jpg" alt=""> </div><div class="div2"><img src="../../images/adv2.jpg" alt=""> </div><div class="div3"><img src="../../images/adv3.jpg" alt=""> </div><div class="div4"><img src="../../images/adv4.jpg" alt=""> </div><div class="clr"></div></div><p>welcome to CSS</p>javascript </body> </html>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2RwyRHei-1593495123260)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-19 18_04_28-Document - 2345加速瀏覽器 10.8.png)]

    2. 元素的顯示和隱藏

    2.1 display

    通過display屬性設置元素是否顯示,以及是否獨占一行

    常用取值:

    取值含義說明
    none不顯示
    inline顯示為內聯元素,行級元素的默認值將塊級元素變為行級元素,不在獨占一行
    block顯示為塊級元素,塊級元素的默認值將行級元素轉化為塊級元素,獨占一行
    inline-block顯示為內聯元素,但是可以設置寬和高在inline基礎上允許設置寬度和高度

    注意:

    行級元素是無法設置寬度和高度的,可以為行級元素設置display:inline-block然后就可以設置寬和高了

    2.2 visibility

    也可以通過visibility屬性設置元素的顯示和隱藏

    常用屬性:

    取值含義說明
    visible顯示
    hidden隱藏
    2.3 區別
    • display隱藏時不再占據頁面中的空間,后面的元素會占用其位置
    • visibility隱藏時會占據頁面中的空間,位置還保留在頁面中,只是不顯示
    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>.div1{width:100px;height:100px;background:blue;/* display:none; */display:inline;}span{width:100px;height:100px;background:yellow;/* display:block; *//* 將行級元素轉換為塊級元素進行顯示,獨占一行進行顯示 *//* 我想對行級元素設置寬和高,但我還想讓行級不要獨占一行 *//* 方法1:設置浮動; *//* float:left; *//* 方法2:display:inline-block */display:inline-block;}i{display:inline-block;width:100px;height:100px;background:red;}p{width:50px;height:50px;background:red;}.p1{/* display:none; */visibility:hidden;}#login{display:inline-block;width:100px;text-decoration: none;background:rgb(255, 0, 0.7);color:#fff;text-align:center;border-radius:8px;}#login:hover{background:rgb(255, 0, 0.5);}</style> </head> <body><div class="div1">div1</div><span>span1</span><i>哈哈</i><hr><p class="p1">p1</p><p class="p2">p2</p><hr><a href="javascript:alert('哈哈哈')" id="login">登&nbsp;&nbsp;&nbsp;&nbsp;陸</a> </body> </html>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-pZjdc69Q-1593495123262)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-19 18_05_58-Document - 2345加速瀏覽器 10.8.png)]

    3.輪廓屬性

    3.1 簡介

    輪廓outline,用于在元素的周圍繪制一個輪廓,位于border外圍,可以突出顯示元素

    3.2 基本用法

    常用屬性

    • outline-width 輪廓寬度
    • outline-color 輪廓顏色
    • outline-style 輪廓樣式
    • outline 簡寫

    在瀏覽器中,當鼠標單擊或使用tab鍵讓一個表單或鏈接獲得焦點時,該元素會有一個輪廓

    優點:可以提高使用表單的用戶體驗

    缺點:有時會影響美觀

    3.3 outline和border區別
    • border可以應用于所有的html元素,而outline主要用于表單元素,超鏈接元素
    • 當元素獲得焦點時會自動出現outline輪廓效果,當失去焦點時會自動消失,這是瀏覽器默認行為
    • outline不影響元素的尺寸和位置,而border會影響
    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>span{border:2px solid red;/* outline-width:4px;outline-color:blue;outline-style:dashed; */outline:4px green dashed;}.usrname{border:1px solid red;outline:none;/* 用戶名文本框框不設置輪廓 */padding-left:3px;width:80px;}.email{border:0;outline:0;border-bottom:1px solid #000;}.submit{border:0;padding:5px;width:100px;}.mydiy{width: 100px;height: 50px;}.mydiv{width: 100px;height: 50px;background-color:#ccc;border:2px solid red;}</style> </head> <body><span>welcome to css</span><hr>用戶名:<input type="text" class="usrname"><hr><a href="#">CSS</a><hr>郵箱:<input type="text" class="email"><input type="submit" value="提交" class="btnsubmit"><hr><div class="mydiv">div</div> </body> </html>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-vz2bs5he-1593495123263)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-19 18_07_53-Document - 2345加速瀏覽器 10.8.png)]

    4.其他屬性

    4.1 寬高相關
    • max-width 設置元素的最大寬度
    • max-height 設置元素的最大高度
    • min-width 設置元素的最小寬度
    • min-height 設置元素的最小高度
    4.2 overflow屬性

    當元素內容溢出時該如何處理

    常用屬性:

    • visible溢出時可見,顯示在元素外,默認值
    • hidden溢出的部分不可見(常用)
    • scroll無論是否出現溢出適中出現滾動條
    • auto溢出時自動出現滾動條
    4.3 cursor屬性

    用于設置光標的形狀

    常用屬性:

    • default默認光標,一般為箭頭
    • pointer手形,光標移動超鏈接上時一般顯示為手形
    • move表示可移動
    • text表示文本
    • wait表示程序正忙,需要等待
    • help表示幫助

    八、頁面布局

    1.簡介

    常見頁面布局:

    • 表格布局
    • div布局

    2.表格布局

    2.1 簡介

    不適用于復雜布局,僅用于簡單、有規則的結構

    定位相對準確,與瀏覽器基本無關,適用于簡單分隔

    2.2 用法

    table常用樣式的屬性

    • border在表格外圍設置邊框
    • border-spacing設置單元格之間的距離(相當于table標簽中的cellspacing 屬性,即間距)
    • border-collapse表格中相鄰邊框是否合并,取值:seprate、collapse

    th/td常用樣式屬性:

    • border為單元格設置邊框
    • padding設置單元格的內邊距(相當于table標簽中的cellpadding屬性,邊距)

    3.div布局

    定位絕對精確,使用靈活,適合于復雜的布局方式

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><style>.hello{width:80%;border:1px solid #ccc;border-spacing:0;border-collapse:separate;}.hello th,.hello td{border:1px solid #ccc;padding:5px;}</style> </head> <body><table class="hello" cellspacing="0"><thead><tr><th>th1</th><th>th2</th><th>th3</th><th>th4</th></tr></thead><tbody><tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr><tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr><tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr><tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr><tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr><tr><td>td1</td><td>td2</td><td>td3</td><td>td4</td></tr></tbody></table> </body> </html>

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-RrZzKxns-1593495123265)(C:\Users\lenovo\Desktop\作業\html\2\2020-04-19 18_13_16-Document - 2345加速瀏覽器 10.8.png)]

    3.1 簡單布局

    兩種形式:

    • 1-1-1布局
    • 1-2/3-1布局
    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><link rel="stylesheet" href="style1.css"> </head> <body><div id="container"><header class="header">header</header><article class="main">main</article><footer class="footer">footer</footer></div> </body> </html> @charset "utf-8"; body{ padding:0; margin:0; } #container{ width: 980px; border:1px solid #ccc; margin:0 auto; } #container .header{ width: 100%; height: 80px; background:red; } #container .main{width: 100%; height: 600px; background:blue; /* margin-top:10px; */ margin:10px 0; } #container .footer{ width: 100%; height: 120px; background:green; /* margin-top:10px; */ }

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-FLmC9cr7-1593495123266)(C:\Users\lenovo\Desktop\晚飯\2020-04-23 21_15_48-Document - 2345加速瀏覽器 10.8.png)]

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><link rel="stylesheet" href="style2.css"> </head> <body><div id="container"><header class="header">header</header><article class="wrapper"><!-- <aside>left side</aside> --><section class="main">main</section><aside>right aside</aside></article><footer class="footer">footer</footer></div> </body> </html> @charset "utf-8"; body{padding:0;margin:0; } #container{width: 980px;border:1px solid red;margin:0 auto; } #container .header{width: 100%;height:80px;background:red; } #container .wrapper{width:100%;height:600px;background:blue;margin:10px 0; } #container .wrapper aside{background:pink;width: 200px;height: 400px;float:left; } #container .wrapper .main{background:cyan;width:770px;height:600px;float:left;/* margin:0 10px; */margin-right:10px; } #container .footer{width:100%;height:120px;background:green; }

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-6bLygAZJ-1593495123268)(C:\Users\lenovo\Desktop\晚飯\2020-04-23 21_16_09-Document - 2345加速瀏覽器 10.8.png)]

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><link rel="stylesheet" href="style3.css"> </head> <body><article id="wrapper"><section class="main"> main</section><aside class="left">left aside </aside><aside class="right">right aside</aside></article> </body> </html> @charset "utf-8"; /* 父容器1.溢出隱藏2.設置容器的內邊距padding,用來空出位置放置左右兩個側邊欄*/ #wrapper{overflow:hidden; /* 超出部分隱藏 *//* 實現左側邊欄和右側邊欄 */padding:0 200px; /* 左右分別空出200px用于放置左、右側邊欄 */min-width:300px;border:1px solid #CCC; }/* 主體:1.寬度自適應2.設置浮動布局*/ #wrapper .main{width: 100%;height: 300px;background:green;float:left; }#wrapper aside{width: 190px;height: 300px;background:blue;float:left;position:relative; }#wrapper .left{margin-left:-100%;left:-200px; }#wrapper .right{margin-left:-190px;left:200px; /* 相對于左邊 *//* right:-200px; */ /* 相對于右邊 */ }

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-0GNMa9Qv-1593495123270)(C:\Users\lenovo\Desktop\晚飯\2020-04-23 21_16_29-Document - 2345加速瀏覽器 10.8.png)]

    3.2 圣杯布局

    頁面結構,兩邊的邊欄寬度固定,中間主體在一定范圍內可自適應,并且主體優先被加載

    一般防止頁面縮放影響瀏覽,都會為頁面設置一個最小寬度

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><link rel="stylesheet" href="style4.css"> </head> <body><div id="container"><header class="header">header</header><article class="wrapper"><section class="main">main</section><aside class="left">left</aside><aside class="right">right</aside></article><footer class="footer"> footer</footer></div> </body> </html> @charset "utf-8"; body{margin:0;padding:0; }#container{margin:0 auto; } #container .header{width:100%;height: 80px;background:red; } #container .wrapper{overflow:hidden;padding:0 200px;min-width:300px;margin:10px 0; } #container .main{width:100%;height: 400px;background:blue;float:left; } #container aside{float:left;width: 190px;height: 300px;background:cyan;position:relative; } #container .left{margin-left:-100%;left:-200px; } #container .right{margin-left:-190px;left:200px; } #container .footer{width:100%;height: 150px;background:green; }

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-PKZfB1b0-1593495123271)(C:\Users\lenovo\Desktop\晚飯\2020-04-23 21_21_31-Document - 2345加速瀏覽器 10.8.png)]

    3.3 雙飛翼布局

    源自淘寶的UED(用戶體驗設計)團隊

    雙飛翼布局和圣杯布局要實現的效果是相同的,只是思路不同

    圣杯布局和雙飛翼布局的區別:

    雙飛翼布局比圣杯布局多創建一個div
    雙飛翼布局不用設置內邊距和相對定位,也不用設置偏移量
    雙飛翼布局使用的margin、圣杯布局使用的padding
    實際開發中建議使用css3 中新增的flex彈性盒子的布局,更簡潔

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Document</title><link rel="stylesheet" href="style5.css"> </head> <body><div id="container"><header class="header">header</header><article class="wrapper"><section class="main"><div class="main-wrapper">main</div></section><aside class="left">left</aside><aside class="right">right</aside></article><footer class="footer">footer</footer></div> </body> </html> @charset "utf-8";body{margin:0;padding:0; } #container{margin:0 auto; } #container .header{width:100%;height: 80px;background:red; } #container .wrapper{overflow:hidden;min-width:300px;margin:10px 0; } #container .main{width:100%;float:left; } #container .main-wrapper{background:pink;height: 400px;margin:0 200px; } #container aside{float:left;width:190px;height: 300px;background:cyan; } #container .left{margin-left:-100%; } #container .right{margin-left:-190px; } #container .footer{width:100%;height: 150px;background:green; }

    #container .header{
    width:100%;
    height: 80px;
    background:red;
    }
    #container .wrapper{
    overflow:hidden;
    padding:0 200px;
    min-width:300px;
    margin:10px 0;
    }
    #container .main{
    width:100%;
    height: 400px;
    background:blue;
    float:left;
    }
    #container aside{
    float:left;
    width: 190px;
    height: 300px;
    background:cyan;
    position:relative;
    }
    #container .left{
    margin-left:-100%;
    left:-200px;
    }
    #container .right{
    margin-left:-190px;
    left:200px;
    }
    #container .footer{
    width:100%;
    height: 150px;
    background:green;
    }

    [外鏈圖片轉存中...(img-PKZfB1b0-1593495123271)]##### 3.3 雙飛翼布局源自淘寶的UED(用戶體驗設計)團隊雙飛翼布局和圣杯布局要實現的效果是相同的,只是思路不同圣杯布局和雙飛翼布局的區別:雙飛翼布局比圣杯布局多創建一個div 雙飛翼布局不用設置內邊距和相對定位,也不用設置偏移量 雙飛翼布局使用的margin、圣杯布局使用的padding 實際開發中建議使用css3 中新增的flex彈性盒子的布局,更簡潔 Document header main left right

    總結

    以上是生活随笔為你收集整理的CSS.笔记案例的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。