HTML(7)

2016-11-29  本文已影响154人  吴晗君

Task7

Version two

问答

一、有序列表、无序列表、自定义列表如何使用?写个简单的例子。三者在语义上有什么区别?在哪些情况下使用哪种(重要)? 如何嵌套?

  1. 有序列表:列表内容对顺序有要求,如排名,步骤等。
  2. 无序列表:列表内容对顺序无要求,如 爱好,特长等。
  3. 自定义列表:用户按照自己需求自定义列表。当有序列表和无序列表都不满足我们的要求时,我们需要按自己的要求去定义列表。
  1. <dt> define the title of list
    用于生成定义列表中各列表项的标题,重复使用可以定义多个列表项的标题。注意:其中不能包含 hx 元素。
  2. <dd> descrime the define of list
    用于生成定义列表各列表项的说明文字段,重复使用可以定义多个说明文字段。dd是对应dt的简短说明或解释。
  3. 我们可以看到,<dt></dt>中间的文字即时我们没有进行缩进它也会向前靠拢,而<dd></dd>中间的内容则自动向后缩进。
    0_1478493063062_upload-722fe46e-9db8-41f1-b44f-abc411cfb4a9
  1. wrong链接
  2. rignt链接

二、如何去除列表前面的点或者数字?


三、class 和 id 有什么区别?什么时候用 class 什么时候用 id?

  1. lass选择器设置的样式是用.开头,id选择器的样式是用#开头

  2. 权值不同:id选择器的权值高于类选择器

  3. 分层后,在一个大的区块中,id选择器中能使用一次,class选择器可以随意套用

  4. 如果id被调用了多次,对接的后台就麻烦了,因为要从服务器的数据库里面调取一些东西,或者是用id做一些设置,如果重复使用,那么,后台就全乱了,读取数据也不会准确。

  5. 另外,当涉及到js时候,有些动画的js需要查找html中的id进行动画设置,重复使用的话,相同的id将都会被找到,并添加相同的动画。


四、块级元素、行内元素是什么?有什么区别?分别对应哪些常用标签?

  1. 块级元素总是另起一行,行内元素与行内元素间则总是在一行显示(除非设置了宽度或者内容溢出)。
  2. 手动给行内元素设置宽高是无效的,身宽高由自身决定,由自身内容撑开。设置左右padding和margin有效,设置上下padding和margin不占据空间。但是如果我们设置了边框,调大padding的值可以看见边框变大。但是不占据空间!
    例子:我们给边框里面设置background:red发现会覆盖其他元素,其实就是没有占据空间的原因。这时候我们可以用line-height来撑开空间。或者display:inlineblock(可以像行内元素一样在同一行排列,也可以像块级元素一样设置宽、高、padding等等。必须在ie8及以上才兼容) 如果用display:block就必须用clear清除浮动,否则就不能排在一行,会跑到下面去。

五、display: block、display: inline、display: inline-block分别有什么作用?


六、下面代码是做什么的?抄写一遍下面的代码,注意class和id的使用及命名方式


七、如何理解 HTML CSS 语义化? 在平时写代码的过程中要注意哪些细节

  1. 为了在没有CSS的情况下,页面也能呈现出很好地内容结构、
  2. 有利于SEO(Search Engine Optimization):和搜索引擎建立良好沟通,有助于爬虫抓取更多的有效信息:爬虫依赖于标签来确定上下文和各个关键字的权重;(即网络爬虫,是一种自动获取网页内容的程序。是搜索引擎的重要组成部分,因此搜索引擎优化很大程度上就是针对爬虫而做出的优化。)
  3. 方便其他设备解析(如屏幕阅读器、盲人阅读器、移动设备)
  4. 便于团队开发和维护,语义化更具可读性,遵循W3C标准的团队都遵循这个标准,可以减少差异化。
  1. 尽可能少的使用无语义的标签div和span;
  2. 在语义不明显时,既可以使用div或者p时,尽量用p, 因为p在默认情况下有上下间距,对兼容特殊终端有利;
  3. 不要使用纯样式标签,如:b、font、u等,改用css设置;
  4. 需要强调的文本,可以包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们),strong默认样式是加粗(不要用b),em是斜体(不用i);
  5. 使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和一般单元格要区分开,表头用th,单元格用td;
  6. 表单域要用fieldset标签包起来,并用legend标签说明表单的用途;
  7. 每个input标签对应的说明文本都需要使用label标签,并且通过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来。
  1. wrong链接
  2. rignt链接

八、form表单作用,常用的input 标签,分别的作用?

-小实验

  1. name:表单提交到后台时的索引,如果不写name,就会被忽略,不参与组成url。
  2. src:src 属性规定显示为提交按钮的图像的 URL。 (只针对 type="image")
  3. value:指定 <input> 元素 value 的值。如果不写两个value,在提交的时候,network里面为sex:on
  4. maxlength:属性规定 <input> 元素中允许输入的最大字符数。
  5. placeholder: placeholder=** 隐性的在输入框中的内容,像淘宝里的一样。当我们输入信息该内容就会消失。
  6. type:(各种类型)

九、post 和 get 方式的区别?

  1. Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
  2. Get将表单中数据的按照variable(变化的)=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
  3. Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。
  4. Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
  5. Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
  6. Get是Form的默认方法。
  7. .Post传输数据时,不需要在URL中显示出来,而Get方法要在URL中显示。
  8. Post传输的数据量大,可以达到2M,而Get方法由于受到URL长度的限制,只能传递大约1024字节.
  9. Post顾名思义,就是为了将数据传送到服务器段,Get就是为了从服务器段取得数据.而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.Post的信息作为http请求。
  10. 看后端接口支持哪一个。

十、在input里,name 有什么作用?

  1. name 是表单提交后,给后台处理程序区分不同的输入框。
    例如 name = '用户名'name=‘密码’,后台程序就会分别去处理用户名和密码。
  2. 而id通常给前台程序,例如Javascript,CSS,让它去为不同 id的输入框设置不同的响应动作,风格样式等。
  3. 但这些前台语言,有的时候也支持对 name 的识别。id 是不会提交给后台的,所以后台一定只能用 name 去识别。

十一、<button>提交</button><a class="btn" href="#">提交</a><input type="submit" value="提交"> 三者有什么区别?


十二、radio 如何分组?

必须写name,且name相同的为一组。


0_1478493272783_4.png

十三、placeholder 属性有什么作用?

0_1478493293326_5.png

十四、type="hidden"隐藏域有什么作用? 举例说明

  1. 表单数据校验
    服务器输出一个网站的表单时,会在表单的带有type=hidden属性的input生成一个安全校验码,当表单提交时,服务器通过检查这个码来判断是否这个表单是否是从服务器生成,而不是伪造的,此方法比起通过cookie来验证用户身份来要方便,避免遇到禁用cookie的情况。
  2. 确认提交按钮
    有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上onclick="document.form.command.value="xx""然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。
  3. 联系同页面多个form
    有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。
  4. 保存全局变量
    javascript不支持全局变量,但有时我们必须用全局变量,我们就可以把值先存在隐藏域里,它的值就不会丢失了。
  5. 小窗口之间的通信
    按一个按钮弹出四个小窗口,当点击其中的一个小窗口时其他三个自动关闭.可是IE不支持小窗口相互调用,所以只有在父窗口写个隐藏域,当小窗口看到那个隐藏域的值是close时就自己关掉。
    0_1478493355568_6.png
    这里page.php一共收到两个值 “50”和送出表单。
    参考

代码、

JS Bin

上一篇 下一篇

猜你喜欢

热点阅读