Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
.h1-h6標簽
都是標題標簽,定義一段話的標題,h1最大,依次遞減,h6最小
標題標簽的作用:讓文本加粗顯示
2. 段落標簽:p標簽
用來顯示一段文本(圖片),它會忽略源代碼中的排版
塊元素:獨占一行的元素,和相鄰的元素不能共享同一行,所有的塊元素都有align屬性,h1-h6和p元素都是塊元素
3. 格式標簽:
b標簽:加粗文本
del標簽:包含的文本中間有條橫線
em標簽:包裹的文本會顯示為斜體
i標簽:包裹的文本會顯示為斜體
pre標簽:顯示源代碼的排版
strong標簽:和em作用一樣,都有強調的意思,如果要強調一段文字,建議使用strong標簽
u標簽:給文本添加下劃線
sup:定義上標文本
sub:定義下標文本
4. 圖片標簽img,用來把圖片顯示在網頁上
必須屬性:1.src:圖片的路徑(可以用相對路徑或絕對路徑,不建議用絕對路徑)
alt:定義圖片無法顯示時的代替文本
相對路徑:以當前文件所在的位置為參考路徑,定義出來的路徑叫相對路徑
絕對路徑:文件在硬盤上的物理路徑叫絕對路徑,
例如:
D:\work181129JAVA班\課件-web前端課件\web-day1\Code\web-day1\img\tly.jpg
可選屬性:
1.title:鼠標放在圖片上時的提示文字,所有元素都有title屬性
2.width:定義圖片的寬度,默認以像素px為單位,可以省略單位不寫
3.height:定義圖片的高度
br標簽:換行標簽,可以寫成<br>或者<br/>
hr標簽:水平線標簽,可以寫成<hr>或者<hr/>,屬性有:width(寬度),size(高度),color(顏色)
5. span:通常用于修飾文本,可以給它添加樣式,例如style="color: red;"
div:把文檔分割成若干個獨立的部分 ,塊級元素
6. ul定義無序列表,type屬性定義列表項目的標記,默認是disc
type="disc" 默認黑色圓點
type="circle" 空心圓點
type="square" 方塊
ol定義有序列表,type屬性定義項目的標記,默認是數字
type="A"或"a":表示大寫字母或者小寫字母
type="I"或type="i":表示羅馬大寫字母或羅馬小寫字母
7. border:定義表格的邊框屬性
cellspacing:單元格之間的距離,設置為0則只有1條邊框了
cellpadding:單元格的內容到邊框之間的距離
8. 表頭:表格中的第一行,用來顯示列標題的,使用th定義表頭的每一列,把里面的內容加粗居中顯示
通常,第一行是表頭行,從第二行開始就是數據行(顯示具體的數據),
使用td(table data cell )表示數據行每一列
表格的align="center":讓表格整體居中顯示
tr(table row)的align="center":讓行里面的內容居中顯示
caption:定義表格的標題,會相當于表格居中
9. colspan:跨列,即在水平方向上合并單元格,值是要合并的單元格數目
rowspan:跨行,即在豎直方向上合并單元格,值是要合并的單元格數目
10. form:表單標簽,用于創建一個表單,收集用戶輸入的數據,并提交給服務器程序
屬性:action:指定將表單的數據發送到哪個服務器程序
method:指定用哪種方式來提交數據,常用值有GET,POST,默認值是get
表單域:又叫表單元素,作用是收集用戶輸入的數據 ,并提交給服務器端程序
常用的表單域:1.input元素:它的type屬性有不同值,表現出不同形態
type="text":表示文本框,提供文本的輸入
type="radio":單選框(單選按鈕), 多個單選框的name值必須相同,如果name不同則不能互斥,提交時是提交value值
type="checkbox":復選框,當name相同時,可以提交多個值(value屬性的值)
type="file"":文件域,讓用戶選擇本地文件上傳到服務器
type="hidden":隱藏域,對用戶不可見的元素,可以有默認值并且能提交給服務器(在javaEE開發中會大量使用隱藏域)
2. select元素:表示下拉列表,又叫下拉框,在下拉列表中用option元素定義待選擇的選項,默認第1個選項被選中,
設置某個option被選中: 在option元素上添加selected="selected"或者selected
設置下拉列表為多選下拉列表:在select元素上加multiple屬性
關于選中元素的設置:
1)設置單選框或復選框被選中的屬性是checked
2)設置下拉列表的某個選項被選中的屬性是selected
11. body標簽:
1.background:定義網頁的背景圖片,如果背景圖片很小,會自動在水平和豎直方向上平鋪展示
2.bgcolor:定義網頁的背景顏色
12. textarea:文本域,又叫多行文本框,cols是文本區內的寬度,rows:行數
placeholder:用來設置單行文本框(不是textarea)里的默認提示文字,當輸入了新的內容后,該提示文字就消失了
label:本身沒有什么效果,當結合單選按鈕或復選框使用時,如果label的for屬性和按鈕的id相同,則點擊
label后就相當于點擊了按鈕,會將單選框或復選框選中
表單按鈕:
1.提交按鈕: <input type="submit">,提交按鈕作用是將表單數據發送到action指定的服務器上
2.重置按鈕: <input type="reset">,作用是將表單中數據清空
3.普通按鈕:<input type="button">,普通按鈕在沒有添加js代碼情況下,是不能提交表單的
13. frameset:框架集,用于將整個瀏覽器窗口劃分成多個小窗口,每個小窗口稱為一個frame,每個小窗口(frame)都可以,加載一個獨立的html文檔
使用frameset的cols或rows屬性定義如何分割整個大窗口,
cols:定義水平方向上分割的各個frame的百分比,
rows:定義豎直方向上分割的各個frame的百分比,
noresize:不能調整frame的寬或高 frameborder="0":去掉frame的邊框
*代表剩余百分比,會自動計算
使用frame來定義每個小窗口,src指frame所加載的網頁的相對路徑
14. iframe:能夠包含其它文檔(網頁)的內聯框架,內聯就是行內,因為它能和相鄰的元素共享同一行
src:要加載的文檔的路徑 width:寬度,height:高度
frameborder:邊框,0或no代表無邊框
15. 將超鏈接所跳轉的頁面顯示在iframe的技巧:
1)給iframe元素添加一個name屬性,例如
2)超鏈接添加屬性target,值應該是iframe元素的name
16. 實體集
來的產品經理,想做一個和qq或者微信聊天一樣的,上下拖動動態改變文本內容框和編輯器布局的需求。 其實一開始是一頭霧水的,但是通過萬能的mdn,以及充滿智慧的我,最終還是完成了這個需求。 其中最核心的還是ResizeObserver這個第一次用的類,所以會在這里做一些記錄。
entries是一個數組,它由所有的ResizeObserverEntry object組成。通過for (let entry of entries) {}的方式,entry代表一個ResizeObserver object,一個entry由contentRect和target組成。
在resize相關實踐中,entry的contentRect對象是最最重要的。
{target: div, contentRect: DOMRectReadOnly}
contentRect: DOMRectReadOnly
bottom: 312.3125
height: 292.3125
left: 20
right: 626
top: 20
width: 606
x: 20
y: 20
__proto__: DOMRectReadOnly
target: div
__proto__: ResizeObserverEntry
<div class="main" :style="{minHeight: dynamicMainHeight}">
<chatView></chatView>
</div>
.main {
resize: vertical;
overflow: auto;
}
observeChatView() {
if (window.ResizeObserver) {
const viewElem = document.querySelector('.main');
const resizeObserver = new ResizeObserver((entries) => {
for (const entry of entries) {
if (!this.initialHeight) {
this.initialHeight = entry.contentRect.height;
}
if (this.initialHeight) {
const deltaHeight = this.initialHeight - entry.contentRect.height;
this.$bus.$emit('rerenderViewAndEditor', deltaHeight);
}
}
});
resizeObserver.observe(viewElem);
} else {
this.$Message.warning('不支持ResizeObserver');
}
},
},
<div
class="rich-text-editor"
contenteditable
data-placeholder="按下Enter發送消息,按下Shift+Enter換行"
:style="{height: dynamicHeight}"
></div>
computed: {
dynamicHeight() {
return `${defaultEditorHeight + this.deltaHeight}px`;
},
},
this.$bus.$on('rerenderViewAndEditor', (deltaHeight) => {
this.deltaHeight = deltaHeight;
});
自動跳到最新一條消息的chatView組件需要減去deltaHeight,從而增大scrollHeight的高度。
this.$bus.$on('rerenderViewAndEditor', (deltaHeight) => {
this.visiableHeight = document.body.clientHeight - deltaHeight;
this.deltaHeight = deltaHeight;
});
scrollToBottom() {
this.$nextTick(() => {
this.scrollTop = this.scrollHeight - this.deltaHeight;
});
},
https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver/ResizeObserver https://github.com/mdn/dom-examples/blob/master/resize-observer/resize-observer-text.html
努力成為優秀的前端工程師!
期待和大家交流,共同進步
微信公眾號: 大大大前端 / excellent_developers
努力成為優秀前端工程師!
框架將瀏覽器劃分成不同的部分,每一部分加載不同的網頁,實現在同一瀏覽器窗口中加載多個頁面的效果
<frameset>....</frameset>
1.cols:使用“像素數”和%分割左右窗口,“*”表示剩余部分;如果使用“*”,“*”表示框架平均分成2個;如果使用“*”,“*”,“*”表示框架平均分成3個。
2.rows:使用“像素數”和%分割上下窗口,“*”表示剩余部分。
3.frameborder:指定是否顯示邊框,0不顯示,1顯示。
4.border:設置邊框的大小,默認值5像素。
frame 標記是一個單標記,該標記必須放在 frameset 中使用,在 frameset 中設置了幾個窗口,就必須對應使用幾個 frame 框架,而且還必須使用 src 屬性指定一個網頁。
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>文檔標題</title> </head> <frameset cols="*,*" frameborder="0"> <frame src="https://www.taobao.com" noresize> <frame src="https://www.baidu.com" noresize> </frameset></html>
*請認真填寫需求信息,我們會在24小時內與您取得聯系。