【前端】:CSS

来源:http://www.cnblogs.com/0zcl/archive/2017/02/12/6388504.html
-Advertisement-
Play Games

前言: 關於前端的第二篇博客,會寫關於css的,內容比較基礎。寫完這篇博客,會做一個類似美樂樂傢具的界面。good luck to me~ 一、css-引用樣式 標簽上設置style屬性: 引用樣式的三種方式: 第一種:在<body>直接定義與引用樣式 第二種: 在<head>頭部加上下麵代碼(類似 ...


前言: 關於前端的第二篇博客,會寫關於css的,內容比較基礎。寫完這篇博客,會做一個類似美樂樂傢具的界面。good luck to me~

 

一、css-引用樣式

標簽上設置style屬性:

1 <body>
2     <div style="background-color: #2459a2;height: 48px;">第一層</div>
3     <div style="background-color: #2459a2;height: 48px;">第二層</div>
4     <div style="background-color: #2459a2;height: 48px;">第三層</div>
5 </body>

引用樣式的三種方式:

第一種:在<body>直接定義與引用樣式

1 <div style="color: red;font-size: 18px;">aa</div>

第二種: 在<head>頭部加上下麵代碼(類似全局變數),然後在<body>引用: <div class="cc">c1</div>。PS:(如果class="cc", 那它就會去全局裡找.cc樣式。)

1     <style>
2         .cc{
3             color: red;
4             font-size: 50px;
5         }
6         .ccc{
7             color: green;
8         }
9     </style>

第三種:需要引用的樣式存放在其它文件(eg:commons.css文件)中

然後在head頭部導入樣式: <link rel="stylesheet" href="commons.css" />, 再在body調用樣式: <div class="cc">c1</div>

關於優先順序,第一種最高(在body直接定義引用樣式),推存使用第三種。如果在head頭部定義並且在body引用了兩種樣式,如下:

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>Title</title>
 4     <style>
 5         .cc{
 6             background-color: blue;
 7         }
 8         .ccc{
 9             background-color: yellow;
10         }
11     </style>
12 </head>
13 <body>
14     <div class="cc ccc">
15         AA
16     </div>
17 </body>

如果樣式不衝突,則樣式cc和ccc都應用,如果樣式有衝突,那是優先應用cc還是ccc樣式??

當引用了兩種有衝突樣式,兩種樣式都是在head定義的,head頭部中後一種定義的樣式會把前一種覆蓋,故上面代碼引用的是ccc樣式!!就算把第14行改為<div class="ccc cc">,仍是引用ccc樣式。

運行界面: 

 

二、css-選擇器

選擇器(即尋找標簽): class選擇器、標簽選擇器、ID選擇器(這三種是重點,推薦使用class選擇器)

1、class選擇器(推薦)

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>Title</title>
 4     <style>
 5         .c1{
 6             background-color: #2459a2;
 7             height: 48px;
 8         }
 9     </style>
10 </head>
11 <body>
12      <div class="c1">第一層</div>
13      <div class="c1">第二層</div>
14      <div class="c1">第三層</div>
15 </body>

 

2、標簽選擇器

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>Title</title>
 4     <style>
 5         div{
 6             background-color: #2459a2;
 7             height: 48px;
 8         }
 9     </style>
10 </head>
11 <body>
12      <div >第一層</div>
13      <div >第二層</div>
14      <div >第三層</div>
15 </body>

標簽選擇器,設置div樣式,則body里所有的div標簽內的內容都會應用此內容

 

3、id選擇器

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>Title</title>
 4     <style>
 5         #i1{
 6             background-color: #2459a2;
 7             height: 48px;
 8         }
 9     </style>
10 </head>
11 <body>
12     <div id="i1">第一層</div>
13 </body>

把樣式寫到head裡面,以#開頭命名,調用對應樣式在div里用id屬性指定相應的id名。

 

4、層級選擇器

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>Title</title>
 4     <style>
 5         span div{
 6             background-color: #2459a2;
 7             height: 48px;
 8         }
 9     </style>
10 </head>
11 <body>
12      <div >第一層</div>
13      <span>
14         <div >span里的div</div>
15      </span>
16      <div >第三層</div>
17 </body>

只讓span裡面的div標簽應用樣式,可多層嵌,類似於路徑

 

5、組合選擇器

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>Title</title>
 4     <style>
 5         a,p{
 6             background-color: cadetblue;
 7         }
 8     </style>
 9 </head>
10 <body>
11     <a>A</a>
12     <p>P</p>
13 </body>

表示a標簽或者p標簽可以引用定義的樣式。逗號表示

運行界面:

 

6、屬性選擇器

 1 <head>
 2     <meta charset="UTF-8">
 3     <title>Title</title>
 4     <style>
 5         input[name="James"]{width: 20px;height: 20px;}
 6     </style>
 7 </head>
 8 <body>
 9     <input type="text" name="James">
10     <input type="text">
11     <input type="password">
12 </body>

 

三、css-應用樣式

1、border

1 <body>
2     <div style="border: 1px dotted red;">
3         第一層邊框
4     </div>
5 <!--border:邊框寬度  solid:邊框樣式實線(dotted虛線)顏色:red-->
6 </body>

邊框其他樣式

 1 <body>
 2     <div style="height: 48px;
 3     width: 80%;
 4     border: 1px solid brown;
 5     font-size: 16px;
 6     text-align: center;
 7     line-height: 48px;
 8     ">第二層邊框</div>
 9  
10     <!--height: 48px 邊框高度-->
11     <!--width: 80% 寬度頁面的80%-->
12     <!--border: 1px solid brown 邊框寬度、樣式、顏色-->
13     <!--font-size: 16px;  字體大小-->
14     <!--text-align: center; 水平居中-->
15     <!--line-height: 48px; 垂直居中-->
16 </body>

運行界面:

 

 2、float

CSS 的 Float(浮動),會使元素向左或向右移動,其周圍的元素也會重新排列。

1 <body>
2     <div style="width:500px;">
3         <div style="background-color:red;float:left;width:20%;">123</div>
4         <div style="background-color:green;float:left;width:50%">123</div>
5         <div style="background-color:yellow;float:right;width:20%">123</div>
6     </div>
7 </body>

裡面的div的寬度是以上一層div的寬度的標準的。

運行界面:

如果在父標簽加上background-color:blue;會發現結果與上圖一樣,並沒有顯示出藍色。

可以加上<div style="clear:both;"></div>

1 <div style="width:500px;background-color:blue;">
2     <div style="background-color:red;float:left;width:20%;">123</div>
3     <div style="background-color:green;float:left;width:50%">123</div>
4     <div style="background-color:yellow;float:right;width:20%">123</div>
5     <div style="clear:both;"></div>
6 </div>

運行界面:

 

 3、display

塊級標簽和行內標簽相互轉換

1 <body>
2     <div style="background-color: red;display: inline">塊級</div>
3     <span style="background-color: #2459a2;display: block">行內</span>
4 </body>

運行界面:

註:display:inline 轉換為行內標簽;display:block轉換為塊級標簽;另還有display:none不顯示

行內標簽:無法設置高度,寬度,padding margin
塊級標簽:可以設置高度,寬度,padding margin

1 <body>
2     <span style="background-color: yellow;display: inline-block;height: 50px;width: 70px">行內</span>
3     <div style="background-color: red;display: inline">塊級</div>
4 </body>

註:display:inline-block 既有inline的屬性(預設自己有多少占多少)又有block的屬性(可以設置高度、寬度、padding、margin)

運行界面:

 

4、margin,padding

margin  外邊距    margin-top:上邊距
padding  內邊距

padding:20px                          上下左右邊距都是20px
 margin:10px 20px 10px 10px  分別指上右下左
padding:10px 20px                  指上下與左右)
  margin:               同上

1 <div style="height:80px;border:1px solid red;">
2     <div style="height:60px;background-color:blue;margin: 10px;"></div>
3 </div>

運行示意圖:

 

5、position

fixed固定到瀏覽器界面某個位置

返回頂部按鈕:好多頁面都有返回頂部的按鈕,隨著你頁面的下拉,按鈕永遠在頁面的右下角,下麵就來實現:

1 <body>
2     <div style="width: 50px;height: 50px;background-color: black;color: white;
3     position: fixed;
4     bottom: 20px;
5     right: 20px;
6     ">返回頂部</div>
7     <div style="height: 5000px;background-color: #dddddd";>
8     </div>
9 </body>
View Code

實現動態效果,點擊返回頂部:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body style="margin: auto">
 8     <div onclick="GoTop();"  style="width: 50px;height: 50px;background-color: black;color: white;
 9     position: fixed;
10     bottom: 20px;
11     right: 20px;">
12         返回頂部
13     </div>
14     <div style="height: 5000px;background-color: #dddddd;margin: auto;">
15         ddddddddddddd
16     </div>
17 
18     <script>
19         function GoTop() {
20             document.body.scrollTop=0;
21         }
22     </script>
23 </body>
24 </html>

 固定菜單欄:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6     <style>
 7         .pg-header{
 8             height: 48px;
 9             background-color: darkorange;
10             color: #dddddd;
11             position: fixed;
12             top:0;
13             right: 0;
14             left: 0;
15         }
16         .pg-body{
17             background-color: #dddddd;
18             height: 5000px;
19             margin-top: 50px;
20         }
21     </style>
22 </head>
23 <body style="margin: 0">
24     <div class="pg-header">固定頭部</div>
25     <div class="pg-body">內容</div>
26 </body>
27 </html>

運行界面:

relative+absolute(相對與relative固定路徑)

1 <div style="position:relative;background:green;height:400px;width:500px;">
2     <div style="position:absolute;bottom:30px;right:30px;">123</div>
3 </div>

加了position:relative; 則子標簽的位置是相對父標簽來定位的;如果去掉positon:relative;則子標簽的位置是相對整個界面的定位的;

運行界面:

 

6、多層模態

用了position樣式實現三層頁面: 當頁面整個浮動在上面的時候,如果想讓頁面整體覆蓋底層頁面,要用到top,right,left,bottom屬性,而非margin-top、margin-left....

opacity:設置透明度(0~1之間)

z-index:設置層級(z-index越大,越放在頂層)

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8     <div style="z-index:10;position: fixed;top: 50%;left: 50%;
 9     margin-left:-250px;margin-top:-250px;background-color: wheat;
10     height: 500px;width: 500px"></div>
11 
12     <div style="z-index:9;position: fixed;background-color: black;
13     top: 0;
14     right: 0;
15     left: 0;
16     bottom: 0;
17     opacity: 0.5"></div>
18 
19     <

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • //判斷右表是否為空併為映射表進行賦值標誌var query=from q in product join m in favProduct on q.Name equals m.Name into t from x in t.DefalultEmpty() select new { Name=q.N ...
  • 只要將數據放入model中, 也能取到值,原因是model臨時放入session域中,當從定向到另一個url時,底層把數據拼接在url地址後面(重定向一定是get請求方式),同時將session域中的這條數據清除,重定向到conttoller時,取值方式只有request.getParameter( ...
  • compass 是sass的一個工具庫 compass在sass 的基礎上封裝了一系列有用的模塊,用來補充和豐富sass的工能, 安裝: compass是用 ruby語言開發的,所以安裝它之前必須安裝ruby。 命令: gem install compass 項目初始化: 要創建一個你的Compas ...
  • 前言 之前用 npm 安裝過 nvm,就以為安裝成功了,但運行 nvm 就報如下提示: This is not the package you are looking for: please go to http://nvm.sh 安裝NVM 查資料得出,要使用 curl 或 wget 來安裝... ...
  • 如今前端界angular react vue三大框架並駕齊驅,其中有一個共同點就是組件化開發,這也符合w3c 推行Web Components的趨勢。現如今不懂組件化開發的前端絕對不是好廚子。跳槽新公司pc端使用angular1.5的Components比較多,趁著入職前幾天自己看一下。 由於ang ...
  • 原文:intro-to-vue-3-vue-cli-lifecycle-hooks 譯者:nzbin 這是 JavaScript 框架 Vue.js 五篇教程的第三部分。在這一部分,我們將學習 Vue-cli ,還會涉及真實的開發流程。這不是一個完整的指南,而是基礎知識的概述,所以你可以瞭解 Vue ...
  • 今天自己寫css樣式,其中用到了<ul>標簽,設置了一系列效果後運行,發現位置與設置有出入。chrome上打開檢查項,發現<ul>標簽的styles底部多了以下一段: ul, menu, dir { ul, menu, dir { display: block; list-style-type: d ...
  • 懶載入技術是現在許多大型網站的都使用的提高網站性能的方式,它的核心思想是當用戶想看頁面某個區域時,再載入該區域的數據。這在一定程度上減輕了伺服器端的壓力,也加快了頁面的呈現速度。 其實國內很多網站都用到了懶載入技術,比如國內兩個大型電商網站的頁面都運用到了這項技術: 天貓首頁: 京東商品列表頁: 最 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...