【html】学习记录

1.在建立一个页面的时候不是打开软件就开始写代码,要先规划好页面的布局框架,不然思想会很混乱,如做个人简历,要分区分块,把每个区域的内容搞清楚。
2.html的很多标签看上去作用都是一样的,但是实际有很大不同,如在布局的时候,虽然

标签都可以分块,但是
标签定义 HTML 表格,
标签可以把文档分割为独立的、不同的部分。
section标签和div区别:
(1).section不是一个专用来做容器的标签,专用的是div。
(2)section用作一段有专题性的内容,一般在它里面会带有标题。 section典型的应用场景应该是文章的章节、标签对话框中的标签页、或者论文中有编号的部分。
3.在取id和class名字的时候,要有语义化,方便自己和其他人查看,不然在数量多的时候用一个字母命名的元素会混淆。

遇到问题是:
问:id和class是该什么时候用?比如在

标签时,好像用id,class都可以
答:
(1)class是一个样式,可以套给多个结构/内容, 便于复用。class名称可以相同。
(2)id是一个标签,用于区分不同的结构和内容。
(3)id的优先级要高于class。

问:每个块的大小和位置怎么设置?比如三个div怎么并列
答:在css中使用display: inline-block;使得设置对象做为行内元素显示。
       注意:如果使用的div的格式相同的时候,给div的class属性赋值,则只需要在css中增改class,而不用每一个div都设置一次重复的样式。(class和id的区别)

问:当网页web窗口缩小后,css的样式就乱套了
答:如果窗口缩小,页面样式错乱就要对每个元素设置长宽、浮动、定位保证每个元素唯一。
解决方式:在整个页面开始的时候在css最前列设置固定的宽度
(如:#w{
width:1200px ;
margin: 0 auto;})
采用流式布局,宽度百分比
问:标签table和form和区别
答:html中form表示一个表单,用来把一系列的控件包围起来,然后再统一发送这些数据到目标,比如最常见的注册
table则是用来布局的,一行一行的以表格的形式展示内容
table仅仅只是用来布局用的,form则是用来封装数据的。
问:js放在html中body下面可以执行,但是在外部引入或者在html的头部不能执行
答:代码在页面解析阶段从上到下一边解析一边执行,这时页面元素还没有解析完,访问不到,把script放到body最下面或者使用window.onload事件

问:display:block 意思是:让对象成为块级元素
答:块级无素的显著特点是:每个块级元素都是从一个新行开始显示,而且其后的无素也需另起一行进行显示。

问:display:none 和 visibility:hidden 的区别
答:dispaly:none 设置该属性后,该元素下的元素都会隐藏,占据的空间消失。visibility:hidden 设置该属性后,元素虽然不可见,但是依然占据空间的位置。

问:get和post的区别
答:1、url可见性:get,参数url可见;post,url参数不可见。GET产生一个TCP数据包;POST产生两个TCP数据包。对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据);而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok(返回数据)。在网络环境好的情况下,发一次包的时间和发两次包的时间差别基本可以无视。而在网络环境差的情况下,两次包的TCP在验证数据包完整性上,有非常大的优点。并不是所有浏览器都会在POST中发送两次包,Firefox就只发送一次。

问:(function(){}()),(function(){})(),$(function(){});之间的区别
答:这两种写法,都是一种立即执行函数的写法。普通的函数声明function foo(){}是不会执行的。这里如果直接这样写function foo(){}()解释器会报错的,因为是错误的语法。
IIFE函数的调用方式通常是将函数表达式、它的调用操作符、分组操作符放到一个括号内,来告诉解释器这里有一个需要立即执行的函数。否则通常情况下,解析器遇到一个function关键字,都会把它当做是一个函数声明,而不是函数表达式。

问:data 属性
答:一个 data 属性,本质就是:一个用于保存数据的自定义属性。
问:let和var和区别
答:作用域不同
var是函数作用域,let是块作用域。在函数中声明了var,整个函数内都是有效的,比如说在for循环内定义的一个var变量,实际上其在for循环以外也是可以访问的。
而let由于是块作用域,所以如果在块作用域内定义的变量,比如说在for循环内,在其外面是不可被访问的,所以for循环推荐用let。

设计问题:
在设计商品展示功能的时候,怎样把商品信息展示出来,如果之后要增加和删除商品信息要怎么表示,动态添加商品到购物车。
答:如果直接在div中用表格显示商品,那么每展示一个商品就要重复使用一次表格,还要对每个表格的内容进行修改和位置的定位,现在直接在body中定义div和ul,然后在js中设置数组,将商品信息存入数组中,通过循环遍历数组,打印输出数组内容。
document.createElement()是在对象中创建一个对象,要与appendChild() 或insertBefore()方法联合使用。其中,appendChild()方法在节点的子节点列表末添加新的子节点。insertBefore() 方法在节点的子节点列表任意位置插入新的节点。getElementsByTagName() 方法可返回一个数组

怎么把用户注册的数据保存下来,实现登录注册?
用localStorage
区分localStorage与sessionStorage
localStorage和sessionStorage都属于webStorage本地存储,区别在于localStorage是永久存储。而sessionStorage的存储时间是当前会话,关闭页面或浏览器就会被清除。localStorage可以用来长期保存登陆信息。而sessionStorage可以用来一次性保存登陆信息,而且不同浏览器不共享。

CSS的伪类实现:
a:link,定义正常链接的样式;
a:visited,定义已访问过链接的样式;
a:hover,定义鼠标悬浮在链接上时的样式;
a:active,定义鼠标点击链接时的样式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值