1. 程式人生 > 其它 >總結持續更新

總結持續更新

技術標籤:htmlcssjs

頁面匯入樣式時,使用link和@import的區別

1)從屬關係的區別:link屬於XHTML標籤,而@import是CSS提供的語法規則,link除了載入CSS,還可以定義RSS,定義rel連線屬性等,@import就只能載入CSS。

2)載入順序的區別:頁面載入時,link會同時被載入,而@import引用的CSS會等頁面被載入完後再載入。

3)相容性的區別:@import不相容ie5以下,link是XHTML標籤,沒有相容性問題。

4)DOM可控性區別:通過js操作DOM,可以插入link標籤來改變樣式;DOM方法是基於文件的,無法使用@import

方式插入樣式。

在html設計製作中,css有四種引入方式。

方式一: 內聯樣式

內聯樣式,也叫行內樣式,指的是直接在 HTML 標籤中的 style 屬性中新增 CSS。
示例:

<div style="display: none;background:red"></div>

這通常是個很糟糕的書寫方式,它只能改變當前標籤的樣式,如果想要多個 <div> 擁有相同的樣式,你不得不重複地為每個 <div> 新增相同的樣式,如果想要修改一種樣式,又不得不修改所有的 style 中的程式碼。很顯然,內聯方式引入 CSS 程式碼會導致 HTML 程式碼變得冗長,且使得網頁難以維護。

方式二: 嵌入樣式

嵌入方式指的是在 HTML 頭部中的 <style> 標籤下書寫 CSS 程式碼。
示例:

<head>
    <style>

    .content {
        background: red;
    }

    </style>
</head>

嵌入方式的 CSS 只對當前的網頁有效。因為 CSS 程式碼是在 HTML 檔案中,所以會使得程式碼比較集中,當我們寫模板網頁時這通常比較有利。因為檢視模板程式碼的人可以一目瞭然地檢視 HTML 結構和 CSS 樣式。因為嵌入的 CSS 只對當前頁面有效,所以當多個頁面需要引入相同的 CSS 程式碼時,這樣寫會導致程式碼冗餘,也不利於維護。

方式三:連結樣式

連結方式指的是使用 HTML 頭部的 標籤引入外部的 CSS 檔案。
示例:

<head>
    <link rel="stylesheet" type="text/css" href="style.css">
</head>

這是最常見的也是最推薦的引入 CSS 的方式。使用這種方式,所有的 CSS 程式碼只存在於單獨的 CSS 檔案中,所以具有良好的可維護性。並且所有的 CSS 程式碼只存在於 CSS 檔案中,CSS 檔案會在第一次載入時引入,以後切換頁面時只需載入 HTML 檔案即可。

方式四:匯入樣式

匯入方式指的是使用 CSS 規則引入外部 CSS 檔案。
示例:

<style>
    @import url(style.css);
</style>

或者寫在css樣式中

@charset "utf-8";
@import url(style.css);
*{ margin:0; padding:0;}
.notice-link a{ color:#999;}

聖盃佈局和雙飛翼佈局

作用:聖盃佈局和雙飛翼佈局解決的問題是一樣的,就是兩邊頂寬,中間自適應的三欄佈局,中間欄要在放在文件流前面以優先渲染。

區別:

聖盃佈局,為了中間div內容不被遮擋,將中間div設定了左右padding-left和padding-right後,將左右兩個div用相對佈局position: relative並分別配合right和left屬性,以便左右兩欄div移動後不遮擋中間div。

雙飛翼佈局,為了中間div內容不被遮擋,直接在中間div內部建立子div用於放置內容,在該子div裡用margin-left和margin-right為左右兩欄div留出位置。

用遞迴演算法實現,陣列長度為5且元素的隨機數在2-32間不重複的值

描述:

這是一道大題目,把考點拆成了4個小項;需要侯選人用遞迴演算法實現(限制15行程式碼以內實現;限制時間10分鐘內完成):
a) 生成一個長度為5的空陣列arr。
b) 生成一個(2-32)之間的隨機整數rand。
c) 把隨機數rand插入到陣列arr內,如果陣列arr內已存在與rand相同的數字,則重新生成隨機數rand並插入到arr內[需要使用遞迴實現,不能使用for/while等迴圈]
d) 最終輸出一個長度為5,且內容不重複的陣列arr。

 var arr = new Array(5);
    var num = randomNumber();
    var i = 0;
    randomArr(arr,num);
    function randomArr(arr,num) {
        if (arr.indexOf(num)< 0){
            arr[i] = num;
            i++;
        } else {
            num = randomNumber();
        }
        if (i>=arr.length){
            console.log(arr);
            return;
        }else{
            randomArr(arr,num)
        }
    }
    function randomNumber() {
        return Math.floor(Math.random()*31 + 2)
    }

(包含H5)HTML的元素有哪些

行內元素:a、b、span、strong、i、em、button、input、label、br、textarea、select

塊元素:div、p、h1-h6、ol、ul、li、table、tbody、td、tr、thead、dl、dt、dd

H5新增元素:section、article、audio、video、hearder、footer、small

CSS3新增特性

邊框圓角:border-radius

盒子陰影:box-shadow

背景定位:background-origin

背景尺寸:background-size

漸變:

linear-gradient線性漸變

radial-gradient 徑向漸變

2d、3d變換:

transform、rotate()、scale()、skew()、translate()

css3動畫:@Keyframes

過渡動畫:transition

自定義動畫:animation

彈性佈局:flex

多媒體查詢:@media

寫一個方法去掉字串中的空格

方法一是replace()方法與正則表示式的相結合,replace(/\s/g,’’)中,/\s/g表示檢索全域性中的空格。

方法二是split(’ ‘)先將字串通過空格進行分割成為陣列,然後再用join(’’)將陣列通過空字元進行連線成字串。

實際程式碼:

<script>
	
	var str=' abc     dafs  f343fs ';
	// 方法一
	console.log(str.replace(/\s/g,''));
	// 方法二
	// console.log(str.split(' ').join(''));

</script>