任務六之CSS、 chrome開發者工具、 文件路徑

CSS是什么

css全稱是 Cascading Style Sheets,層疊樣式表

@charset "utf-8";
h1 {
  color: red;
  font-size: 20px;
  /*這是注釋*/
}
a:hover{
  color: red;
}```
![8-1.png](http://upload-images.jianshu.io/upload_images/1376285-190007ac1af38b03.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#如何在頁面應用css
1. 內連樣式 (這種寫法基本在工作中杜絕,除非逼不得已)
```HTML
<h1 style="color: red; font-size: 20px;"></h1>
  1. 內部樣式 (稍微靠譜 但是現在vue項目又用上了)
<style type="text/css">
 h1 {
   color: red;
   font-size: 20px;
 }
</style>
<h1>饑人谷</h1>
  1. 外部樣式
  • 寫法一 link 標簽
<head> 
  <link rel="stylesheet" type="text/css" href="index.css">
</head>
  • 寫法二 import 導入CSS
<style>
  @import url("hello.css");
  @import "world.css";
</style>
  1. 其他
    瀏覽器有自己的默認樣式

link與@import的區別
本質上,這兩種方式都是為了加載CSS文件,但還是存在著細微的差別

  • 1.link屬于XHTML標簽,
    而@import完全是CSS提供的一種方式。
    link標簽除了可以加載CSS外,還可以做很多其它的事情,比如定義RSS,定義rel連接屬性等,@import就只能加載CSS了。
  • 2.加載順序的差別。
    link引用的CSS會同時被加載,
    @import引用的CSS會等到頁面全部被下載完再被加載。
    所以有時候瀏覽@import加載CSS的頁面時性能較差
  • 3.兼容性的差別。
    @import是CSS2.1提出的所以老的瀏覽器不支持,只有在IE5以上的才能識別,
    link標簽無此問題
  • 4.使用dom控制樣式時的差別。
    當使用javascript控制dom去改變樣式的時候,只能使用link標簽,
    因為@import不是dom可以控制的。

認識開發者工具

右鍵檢查 或者 mac快捷鍵 option + command + J

tab簡介.png
html與style增刪改調試.png
computed.png
console.png
source.png

network.png

以上介紹是開發式經常使用的
其他幾個tab都跟性能優化有關,要想更深刻了解開發者工具,可以點此跳轉

3.以下這幾種文件路徑分別用在什么地方,代表什么意思?

  • 相對路徑
    • css/a.css 在當前目錄下的css文件中的a.css文件
    • ./css/a.css 在當前目錄下css文件中的a.css文件
    • b.css 在當前目錄下的b.css文件
    • ../imgs/a.png 在當前目錄的上一級目錄中imgs文件下的a.png文件
  • 絕對路徑
    • /Users/hunger/project/css/a.css 在當前系統的絕對路徑
  • 網站路徑

書寫規范

  • 語法不區分大小寫,但建議統一使用小寫
  • 不使用內聯的style屬性定義樣式
  • id和class使用有意義的單詞,分隔符建議使用-
  • 有可能就是用縮寫
  • 屬性值是0的省略單位
  • 塊內容縮進
  • 屬性名冒號后面添加一個空格

css布局思想

摘抄自饑人谷 --- 方方老師課堂筆記

CSS 雜談

Normal Flow

  1. 內聯元素 span 從左到右排列,寬度不夠就換行
  2. 塊級元素 div 從上到下排列,每個元素另起一行
  3. inline block
  4. display table
  5. display list item
  6. display flex

寬高如何確定

  1. 內聯元素
    占地寬:內容、padding、margin
    占地高:line height、font size
  2. block 元素
    內容區寬:爸爸的內容區域的寬度 - 自己的左右邊框 - 自己的左右 margin 2. 可以通過 white-space 控制是否換行
    內容高度:它內部文檔流中元素的高度的總和
  3. inline-block 元素
    寬:1. 可以設置 width 2. 內容決定寬度 3. 可以通過 white-space 控制是否換行
    高:line height、font size 它內部文檔流中元素的高度的總和

居中(水平、垂直)

文檔流中的元素

水平

  1. 內聯:在爸爸身上加 ta:c
  2. 塊級:
    1. 固定寬度的div
      1. margin-left: auto
      2. margin-right: auto
    2. 不固定寬度的 div
      1. margin: 0 100px;

垂直

  1. 內聯:
    1. 在爸爸上加 line-height
    2. 在爸爸上加 padding: 10px 0
    3. 在爸爸上加 line-height 和 padding: 10px 0
  2. 塊級元素
    1. 在爸爸上加 padding: 10px 0

不在文檔流中的元素

浮動元素居中?

不可能

絕對定位

top: 50%; left: 50%; margin-left: - 寬度的一半; margin-top: - 高度的一半
top: 50%; left: 50%; transform: translate(-50%,-50%) CSS 3

兼容性最好的垂直居中:table

布局(一欄、兩欄、三欄)

IE: float
非IE: flex

面試技巧:具體化、分情況討論

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,801評論 1 92
  • 轉載請聲明 原文鏈接地址 關注公眾號獲取更多資訊 第一部分 HTML 第一章 職業規劃和前景 職業方向規劃定位...
    前端進階之旅閱讀 16,621評論 32 459
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 1,803評論 0 2
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,335評論 0 11
  • 1、extension [?k'st?n??n] ——擴展可以將某一類相關的代碼寫在一起,體現Swift語言特點...
    蝸牛鍋閱讀 192評論 0 0