前端入門筆記
1、html基本結構
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>題目</title>
</head>
<body>
<p>body</p>
</body>
</html>
2、網頁中用了 <!DOCTYPE html... 就表示該頁面采用了W3C標準,這樣做可以增強頁面的兼容性,降低對瀏覽器的依賴性。
3、<h1~6></h1~6>
標題標簽,只有1~6,數字越小字越大
4、在html中回車是不會換行的,無論是不是在標簽中
因此就有了段落標簽<p></p>,p標簽會在段落前後加入一些空白
換行標簽是<br>,br標簽不會
5、超鏈接標簽
<a href="http://www.baidu.com">點擊進入百度</a>
如果沒有加href屬性,就是普通的字段
6、插入圖片
<img src="/images/logo.png" alt="abc" width="500" height="100" />
src是圖片的地址,alt屬性是替代文本,圖片未加載時顯示替代文本,width是圖片寬度,height是圖片長度
7、<a href="http://www.baidu.com/" target="_blank"></a>
加入target這個屬性就可以打開新頁面而不是在原界面跳轉
8、<link rel="stylesheet" type="text/css" href="mystyle.css">
link元素通常存在head元素裏面,用於連接樣式表
9、<meta>標簽為網頁添加信息,如定義關鍵詞keywords,描述內容description,網頁作者author,刷新當前 頁面refresh
10、<style>
p{color:blue;}
</style>
style元素存在於head元素內,這種添加樣式的方式稱為內部樣式表
也可以直接為單個元素添加樣式,這種方式稱為內聯樣式
11、<map name="mapname">
<area shape="rect" coords="0,0,x,x" alt="sun" href="www.xx.com">
</map>
定義圖像地圖,coords是坐標
12、<table border="1" cellpadding="文本跟單元格的間距">表格
<caption>表的標題</caption>
<tr>行
<th></th>行頭或者列頭,文本中置,字體加粗
<td></td>列
</tr>
</table>
13、無序列表
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
有序列表
<ol srart="10">
<li>x</li>
<li>x</li>
<li>x</li>
</ol>
14、form表單
<form action="http://www.baidu.com">
A: <input type="text" name="firstname"><br>
B: <input type="radio" name="B" value="B"><br>
C:<input type="checkbox" name="C" value="C">
D:<input type="submit" value="Submit">value就是按鍵上的字
</form>
type屬性可以有text,password,radio單選,checkbox多選,submit提交
文本默認寬度是20字符
input的name屬性可以在後臺收集到
下拉列表
<select name="food" id="5">
<option>1</option>
<option>2</option>
</select>
文本框:textarea標簽
15、css有class選擇器,也有id選擇器
class以.開頭,id選擇器以#開頭
p.demo{color:red;}
p是指只對段落有效,demo是指只對class名為demo的段落有效
16、鏈接css文件
在<head>中<link rel="stylesheet" type="text/css" href="demo.css">
樣式冒號後面不能加空格,這個是網站上的嚴格驗證
17、樣式具有優先級
內聯樣式 > 內部樣式表 > 外部樣式表 > 瀏覽器默認樣式
如果一個字段同時被內部樣式表和外部樣式表修飾,則優先選擇屬性更具體的那個,而那些一樣的屬性的值則是優先級更優先
18、body的屬性
background-color:red;背景顏色,bgcolor也可以
background-image:url(‘url‘);背景圖片
background-repeat:repeat-x;背景平鋪,只在水平方向(x)平鋪
background-repeat:no-repeat;不平鋪
background-position:right top;位置右上
也可以用百分比來確定位置,左上角是0% 0%,右下角是100% 100%,使用position屬性前要先設置attachment屬性
background-attachment:fixed;背景固定不動,如果是scroll則是默認的可以滾動
margin-right:200px;右邊距200px,只對塊狀元素有效
可以把所有背景屬性設置在一個聲明中,用空格隔開
body{
background:url("12.JPG") no-repeat fixed 50% 50%;
}
19、更詳細的樣式優先級更高
比如p.ex{color:red;}的優先級比body{color:blue;}高
20、文本修飾:
text-align:justify;實現兩端對齊文本效果
text-decoration:overline;文本上劃線
line-through;刪除線
underline;下劃線
text-transform:uppercase;所有大寫
lowercase;小寫
capitalize;首字母大寫
text-indent:50px;文本縮進
text-shadow:3px 3px 3px red;字體陰影:橫距,豎距,模糊距離,顏色
letter-spacing:2px;字體間隔
line-height:100%;行高
vertical-align:bottom;垂直對齊:底部
word-spacing:30px;單詞間隔
font-style:normal;正常顯示
italic;斜體
font-size:30px;字體大小
font-weight:normal;正常字體
lighter;瘦一點
bold;粗體
900;粗的像素
21、鏈接樣式:a:link
a:link{color:red;}未訪問
text-decoration:none;無下劃線
a:visited{color:blue;}已訪問
text-decoration:none;無下劃線
a:hover{color:yellow;}鼠標接觸時
text-decoration:underline;下劃線
a:active{color:green;}鼠標點擊時
text-decoration:underline;下劃線
hover要在link和visited之後,active要在hover之後
22、無序列表的樣式
ul.a {list-style-type:circle;}圓圈
square;方形
upper-roman;大寫羅馬字母
lower-alphq;小寫英文字母
ul{list-style-image:url(‘sqpurple.gif‘);}以圖片作為序列
23、表格填充
內邊距
padding:2px 7px 2px 7px;上右下左的順序
外邊距margin:25px;
24、表格邊框
table,td,th{border:1px soild block;}
表格和單元格各自有邊框,soild是實線的意思
table{border-callapse:collapse;}
邊框折疊,加上這個讓表格邊框和單元格邊框互相重疊
border-style:soild;邊框風格
border-width:1px;邊框寬度,單獨使用無效
border-top-style:soild;
-right
-bottom
-left
設置各個側面的邊框
border-style:上,右,下,左;
上,左右,下;
上下,左右;
全部;
25、輪廓outline
outline:green dotted;綠色虛線
outline-color
outline-style
outline-width
26、外邊距margin
margin:上,右,下,左;
上,左右,下;
上下,左右;
全部;
27、填充,就是內邊距padding
padding:上,右,下,左;
上,左右,下;
上下,左右;
全部;
28、嵌套選擇器
p{}對所有p元素有效
.asd{}對class為asd的元素有效
.asd p{}對class為asd的元素內的p元素有效
29、display and visibility顯示與可見性
display:none;不可見也不占據空間
visibility:hidden;不可見但是占據空間
30、塊元素和內聯元素display
display:block;把一個元素改變成塊元素
display:inline;把一個元素改變成內聯元素,顧名思義,行內元素
31、定位positioning
positioning:static;靜態流,即默認
fixed;固定的,會與其他重疊
relative;相對定位,相對原來正常的位置
left:-20px;從左側減去20像素
absolute;絕對定位,會相對於最近的已定位的父元素,如果沒有則相對於body元素,不占據空間
32、父元素就是上層元素,兄弟元素就是同級元素
33、元素重疊z-index
z-index:-1; 堆疊順序,數字大排前面,如無指定,後定位的顯示在前面
34、改變光標cursor
<span style="cursor:wait">wait</span>讓鼠標放上去改變光標
35、濾鏡屬性filter
img{
filter: grayscale(0%);
}
36、內容溢出
overflow:visible;默認,內容溢出
hidden;溢出部分不可見
scroll;溢出則顯示滾動條
37、設置字體類型
font-family:Serif,,Sans-serif,Verdana
如果瀏覽器找不到第一種字體,會找下一種
font-size:12px;字體大小
38、瀏覽器兼容性
Firefox:-moz-box
Safari,Chrome,Opera:-webkit-box
39.盒子中元素居中
box-pack:center;水平居中
box-align:center;垂直居中
40、偽類
就是css內植類css內部本身賦予它一些特性和功能,也就是你不用再class=...或id=...你就可以直接拿來使用,當然你也可以改變它的部分屬性
語法selector:pseudo class { property: value; }
:link未被訪問的鏈接
:hover鼠標懸浮(鼠標接觸)的元素
:active被激活(鼠標點擊)的元素
:visited已被訪問的鏈接
:focus擁有鍵盤輸入焦點的元素
:first-child元素的第一個子元素
:lang帶有指定lang屬性的元素
其中first-child 偽類比較復雜,感覺挺不人性化的
比如:
p:first-child {font-weight: bold;},匹配所有元素中,第一個子元素是p元素的那個p元素
p > i:first-child {font-weight:bold;} 匹配所有p元素中,第一個子元素是i元素的那個i元素
41、max-width:
一個塊元素,如果設置了width,那個這個元素的寬度就固定了,無論窗口怎麽改變,如果設置了max-width,
就說明了這個元素的最大長度,實際寬度可以在0~max-width之間,如果窗口小於這個長度,該元素也會自動調整大小
42、box-sizing: border-box;
設置了這個屬性,則內邊距和邊框不會增加元素的寬度
43、@media screen and(max-width:300px){
}
@media screen and 是指如果寬度小於300px,就實現大括號裏的代碼
44、display:line-block;行內塊,每個塊在行內依次排開
也可以用浮動 float:left,實現困難
45、文本分列
column-count: 3;列數
column-gap: 20px;列之間的間隔
46、如果父元素的總寬度是300px,那麽這2個子元素的比例就是1:2,一個100px,一個200px
#p1
{
-moz-box-flex:1.0; /* Firefox */
-webkit-box-flex:1.0; /* Safari 和 Chrome */
box-flex:1.0;
}
#p2
{
-moz-box-flex:2.0; /* Firefox */
-webkit-box-flex:2.0; /* Safari 和 Chrome */
box-flex:2.0;
}
父元素:display:flex;
子元素: -webkit-flex: initial;
flex: initial;
width: 200px;
min-width: 100px;空間足夠是200px,不夠可以最低減少到100px
-webkit-flex: none;
flex: none;
width: 200px;寬度200px保持不變
47、justify-content用於設置元素在橫軸的對齊方式、
justify-content:center;項目位於容器中心
space-around;項目四周留空白
align-content用於設置元素在垂直方向的對齊方式
48、顏色漸變
background: linear-gradient(red, blue);上下線性漸變
background: linear-gradient(to right, red , blue);左到右
background: linear-gradient(to bottom right, red , blue); 左上到右下
可以附帶有多個顏色的漸變
49、單詞拆分
word-break:keep-all;保持
break-all;拆分
50、
transform:translate(50px,100px);移動元素,距離左50px,距離上100px
transform:rotate(30deg);順時針30度,-30則是逆時針
transform: scale(2,3); 比例尺,寬度是原來2倍,高度是原來3倍
transform: skew(30deg,20deg);水平方向傾斜30度。垂直方向傾斜20度
51、
document.getElementById("demo").innerHTML="我的第一段 JavaScript";
在文檔中以id為索引取得元素“demo”,替換新元素
document.write("<p>我的第一段 JavaScript</p>");
在js中寫html使用以上代碼,如果在文檔已完成加載後執行 document.write,整個 HTML 頁面將被覆蓋
document.write("Hello \
World!"); 文本換行要加反斜杠\
52、
js中所有變量都是var,文本加上單引號或者雙引號
變量的類型是動態的,隨時都可以改變,重新聲明就可以重新定義
數組聲明和初始化
var cars=new Array("奔馳","寶馬","大眾");第一個元素下標是0
javascript對象
var person={firstname:"Bill", lastname:"Gates", id:5566};鍵值對
引用方式:name=person.firstname;
name=pserson["firstname"];
undefined是沒有值得意思,null用來清空變量
document.getElementById("demo").innerHTML=myFunction(4,3);
這句話的意思是將id為demo的元素內容變成myFuntion(4,3)
使用了innerHTML,所有的內容都會被替換
53、
javascript的函數中在使用 return 語句時,函數會停止執行,並返回指定的值。
如果僅僅退出函數,直接return;
54、
如果您把值賦給尚未聲明的變量,該變量將被自動作為全局變量聲明。carname="Volvo";carname就是全局變量
局部變量在函數運行完就會刪除,全局變量在頁面關閉後刪除。
55、js中==和===的區別
(1)對於string,number等基礎類型:==看值是否相等,===看類型是否相等
(2)對於Array,Object等高級類型,都是進行指針地址比較
(3)對於高級與基礎類型的比較,==還是看值是否相等,===直接是false
56、for/in循環
用於循環遍歷對象的屬性
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}
person[x]每次循環代表一個屬性。順序排列
57、break和comtinue
break會直接調出循環,後面的循環全部跳過
continue是結束本次循環,後面的循環繼續執行
58、接以上,break和continue如果是單獨使用的話,就只能出現在循環和switch中
但是如果加上了標簽引用,就可以用來跳過任何javascript代碼塊
例如break labelname;標簽名
59、捕獲異常
try{
throw "異常內容";
}catch(err){
return err;
}
60、表單驗證
61、
javascript可以通過3中方式找到對象
var x=document.getElementById("intro");通過id
var y=x.getElementsByTagName("p");找到"main"中的所有p元素
62、innerHTML inner:內部的
innerHTML屬性用於提取元素的內容
document.getElementById("3d").innerHTML;提取id為3d的元素的內容
document.getElementById("image").src;用於提取id為image的元素的src屬性
document.getElementById(id).style.color;提取元素的樣式中的顏色
63、
<h1 onclick="this.innerHTML=‘謝謝!‘">請點擊該文本</h1>這個話中的this指的是本元素
64、onload打開頁面時,onunload離開頁面時,onchange改變輸入字段時,onmouseover鼠標接觸時,onmouseout鼠標離開時,onmousedown鼠標按下時,onmouseup鼠標擡起時,onfocus字段獲得焦點時。
65、javascript的所有數字都是64位,8bit的浮點數
整數最多是15位,小數最大位是17位,數字前加0視為八進制,加0x視為16進制
66、正則表達式regexp
創建正則對象:var patt1=new Regexp("e");這個正則對象的模式是e這個字母
正則對象的方法:test()如果有匹配為true,否則false
exec()匹配則返回匹配值,否則null
。。。
67、瀏覽器對象模型BOM
window.open()打開新窗口
window.colse()關閉
window.moveTo()移動
。。。
window.screen 包含用戶屏幕信息
screen.availWidth;用戶可用屏幕寬度
screen.availHeight;用戶可用屏幕高度
。。。
window.location包含當前網頁的網絡信息
location.hostname;web主機域名
location.href;返回整個url
location.pathname;返回當前頁面的路徑和文件名
。。。
window.history歷史信息
history.back() - 上一個url
history.forward() - 與在瀏覽器中點擊按鈕向前相同
。。。
window.navigator關於訪問者瀏覽器的信息
。。。
68、消息框
提示框alert("xxx");
確認框confirm("xxx");點確定就返回true,取消就是false
輸入框prompt("文本","默認值");
69、延時器
t=setTimeout("JavaScript語句",x毫秒);在x毫秒後執行javascript語句
clearTimeout(t);取消標識為t的延遲代碼塊
70、escape(asd);把asd變成一個字符串
71、
前端入門筆記