1. 程式人生 > >web前端開發技巧(HTML+CSS+Jquery)

web前端開發技巧(HTML+CSS+Jquery)

HTML+CSS

1.css選擇器

1)偽元素:利用:after偽元素為標籤新增內容,比如:a:after{ content:“¥”}。

2)屬性選擇器,比如:input [ type=text ],用法和jquery的屬性選擇器類似。

3)組合選擇器,A,B 同時匹配兩個元素;A+B匹配緊隨A之後的同級元素B。

4)::selection 滑鼠選中時變樣式

2.佈局

1)使用<section><header><nav><footer><figure>等H5新元素代替<div>。

2)行內排列:

除了使用float浮動之外,使用dispaly:inline-block

; 然後用vertical-align:top/middle;對齊,這樣可以將元素排成一排,還可以避免浮動引發的元素塌陷。

3)多列:columns:200px 2; //設定兩列

3.標籤居中方法:

水平居中:

想要<div>居中僅僅使用margin:0 auto;是不管用的,還需要在父標籤中設定text-alien:center;

垂直居中:

1)單行文字垂直居中:設定line-height的高度和height高度一致。
2)多行文字垂直居中:.father{display:table;height:400px;}.son{vertical-align:middle; display:table-cell;vetical-align:middle};
3)父標籤採用百分比:.father{display:table}.son{display:table-cell;vetical-align:middle};

4.為溢位的文字設定省略號:

緊貼文字的標籤設定,例如a標籤text-overflow:ellipsis; overflow:hidden; 父標籤white-space:nowrap

多行(緊貼文字的標籤設定):

 overflow: hidden;

 text-overflow: ellipsis;

display: -webkit-box;

-webkit-box-orient: vertical;

-webkit-line-clamp: 2; //行數

5.文字大小自適應:使用vw代替px,1vw=1%的頁面寬度。

6.文字域設定

1)限制文字字數30個:<textarea placeholder="點選設定" maxlength="30"

  "></textarea>

2)使用者可自由縮放文字域:resize:both;

3)設定字母間距:letter-sapcing

7.點選按鈕改變樣式

比如長按按鈕變亮:

.div:enabled:active

filter:alpha(opacity=80);//IE 

opacity:0.8

}

/*這一句是用來解決在安卓上的點擊出現藍框問題*/
body{ -webkit-tap-highlight-color:rgba(0,0,0,0); }
/*下面是解決ios上去除微信點選藍色邊框 */
a:focus,
input:focus,
p:focus,
div:focus{
-webkit-tap-highlight-color:rgba(0,0,0,0);
-webkit-user-modify:read-write-plaintext-only; 
}

8.為radio設定樣式

<input id="radio"  type="radio"name="age" /><label for="radio"><span><span></span></span></label>

幾個關鍵點:

(1)設定input的opacity為0。

(2)在input後面新增一個label,for屬性繫結input的id。

(3)在label中加入兩個<span>標籤,內部標籤負責checked樣式,外部負責未選中樣式邊框。然後在css中修改想要的樣式就可以了,樣式類似這個樣紙。

9.設定漸變色

border設定漸變色:

border-image:-webkit-linear-gradient( red, blue) 30 30;

border-image:url() 70 round/streth;

文字設定漸變色:

 background-image:-webkit-gradient(linear, 0 0, 0 bottom, from(rgba(0, 128, 0, 1)), to(rgba(51,51, 51, 1)));

10.設定padding向內收縮

box-sizing:border-box;

11.使用calc()完成百分比和畫素之間的運算:"width:calc(50%+2em)"

12.隱藏元素的區別

display: none; //不佔據空間,無法點選

height: 0; overflow: hidden; //不佔據空間,無法點選

position: absolute; top: -999em; //不佔據空間,無法點選

position: absolute; top: -999em; //不佔據空間,無法點選

visibility: hidden; //佔據空間,無法點選

position: relative; top: -999em; //佔據空間,無法點選

position: absolute; visibility: hidden; //不佔據空間,無法點選

opacity: 0; filter:Alpha(opacity=0); // 佔據空間,可以點選

position: absolute; opacity: 0;filter:Alpha(opacity=0); // 不佔據空間,可以點選

13.修改placeholder的顏色

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { 
color: #666; 

input:-moz-placeholder, textarea:-moz-placeholder { 
color: #666; 

input::-moz-placeholder, textarea::-moz-placeholder { 
color: #666; 

input:-ms-input-placeholder, textarea:-ms-input-placeholder { 
color: #666; 

14.某元素隨頁面滾動到一定位置後固定:position:sticky; top:100px;只支援FireFox和iOS的Safari瀏覽器。

Jquery

1.html()和text()的區別

html()只能獲取第一個節點的內容(節點和文字),

text()可以獲取所有匹配節點的內容(文字)。