问题1:
3种列表及嵌套
无序列表一般用于导航菜单等,使用范围最广。有序列表用于排序
问题2:如何去除表前面的点或者数字
list-style:none
问题3: class 和 id 有什么区别?什么时候用 class 什么时候用 id?
這兩者最大的不同,是在於 ID 選擇器在一個 HTML 文件中只能被使用一次,而 Class 選擇器在一個 HTML 文件中可以被使用多次。第二個不同的地方,是 ID 選擇器可以被 Javascript 中的 GetElementByID 函數所運用,而 Class 選擇器無法被 Javascript 運用到。
並沒有什麼固定的規則,來決定什麼時候要用 ID 及什麼時候要用 Class。我們的建議是盡量用 Class,因為這樣子最靈活 (同一個 HTML 文件可以利用這類的選擇器多次)。唯一的例外,是當你要用 Javascript 的 GetElementByID 函數時。在這個情況下,你就應該要用 ID。
问题4:块级元素、行内元素是什么?有什么区别?分别对应哪些常用标签?
块级元素: <div>
,<h>
,<ol>
, <p>
, <table>
, <form>
行内元素: <a>
,<input>
,<span>
,<lable>
行内元素与块级元素的区别:
- 行内元素与块级函数可以相互转换,通过修改display属性值来切换块级元素和行内元素,行内元素display:inline,块级元素display:block。
- 行内元素和其他行内元素都会在一条水平线上排列,都是在同一行的;块级元素却总是会在新的一行开始排列,各个块级元素独占一行,垂直向下排列,若想使其水平方向排序,可使用左右浮动(float:left/right)让其水平方向排列。
- 行内元素不可以设置宽高,宽度高度随文本内容的变化而变化,但是可以设置行高(line-height),同时在设置外边距margin上下无效,左右有效,内填充padding上下无效,左右有效;
块级元素可以设置宽高,并且宽度高度以及外边距,内填充都可随意控制。 - 块级元素可以包含行内元素和块级元素,还可以容纳内联元素和其他元素;行内元素不能包含块级元素,只能容纳文本或者其他行内元素。
问题5 display: block、display: inline、display: inline-block分别有什么作用?
display:block 将对象显示为块元素
display:inline 将对象显示为行内元素
display:inline-block 将对象显示为行内元素,对象的内容显示为块元素
问题6
上述代码在页面申明3个块元素,里面包含内容,并将3个块元素水平居中,上下外面距设为“0”,由于ul标签浏览器自带样式会覆盖父元素的margin,所以页面显示为header和content之间有外边距。
问题7 如何理解 HTML CSS 语义化? 在平时写代码的过程中要注意哪些细节
语义化就是根据内容的结构化(内容语义化),选择合适的标签(代码语义化)便于开发者阅读和写出更优雅的代码的同时让浏览器的爬虫和机器很好地解析。
语义化的好处在于没有CSS的情况下,页面也能呈现出很好地内容结构、代码结构,增加了用户体验,方便SEO及其他设备解析,也利于团队维护。
注意细节:
- 页面合理分层,先大后细
- 合理使用标签
- 合理命名id 和class,不要使用id="a",class="b"这类简陋的命名方式
问题8 form表单有什么作用?有哪些常用的input 标签,分别有什么作用?
<form>标签用于为用户输入创建html表单,表单用于向服务器传递数据。
- <input type="text"> 定义文本域输入
- <input type="password">定义密码域输入
- <input type="file">定义文件上传
- <input type="radio">定义单选框
- <input type="checkbox">定义复选框
- <input type="submit">定义提交表单按钮
问题9 post 和 get 方式的区别?
- get是从服务器上获取数据,post是向服务器传送数据。
- get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
- 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
- get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。5.get安全性非常低,post安全性较高。
问题10 在input里,name 有什么作用?
name 属性用于对提交到服务器后的表单数据进行标识,或者在客户端通过 JavaScript 引用表单数据。只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。
问题11 <button>提交</button>、<a class="btn" href="#">提交</a><input type="submit" value="提交">三者有什么区别?
<button>提交</button>定义了一个提交按钮;
<a class="btn" href="#">提交</a>定义了一个提交链接,点击会跳转。
<input type="submit" value="提交">定义了一个form表单提交按钮,用于传递form表单。
问题12 radio 如何 分组?
<input type="radio">中"name"值相同的分为一组
问题13 placeholder 属性有什么作用?
palceholder用于描述输入字段预期值的提示信息(hint)。 该提示会在输入字段为空时显示,并会在字段获得焦点时消失。
问题14 type=hidden隐藏域有什么作用? 举例说明
隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
- 有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,如sessionkey,等等.当然这些东西也能用cookie实现,但使用隐藏域就简单的多了.而且不会有浏览器不支持,用户禁用cookie的烦恼。
- 有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上onclick="document.form.command.value="xx""然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。
- 有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。
- javascript不支持全局变量,但有时我们必须用全局变量,我们就可以把值先存在隐藏域里,它的值就不会丢失了。
- 还有个例子,比如按一个按钮弹出四个小窗口,当点击其中的一个小窗口时其他三个自动关闭.可是IE不支持小窗口相互调用,所以只有在父窗口写个隐藏域,当小窗口看到那个隐藏域的值是close时就自己关掉。
网友评论