前端HTML总结下

11、Sass、SLESS是什么?大家为什么要使用他们

他们是 CSS 预处理器。他是 CSS 上的一种抽象层。他们是一种特殊的语法/语言编译成 CSS。

例如 Less 是一种动态样式语言. 将 CSS 赋予了动态语言的特性,如变量,继承,运算, 函数. LESS 既可

以在客户端上运行 (支持 IE 6+, Webkit, Firefox),也可一在服务端运行 (借助 Node.js)。

为什么要使用它们?
结构清晰,便于扩展。可以方便地屏蔽浏览器私有语法差异。这个不用多说
封装对浏览器语法差异的重复处理,减少无意义的机械劳动。可以轻松实现多重继承。
完全兼容 CSS 代码,可以方便地应用到老项目中。LESS 只是在 CSS 语法上做了扩展,所以老的 CSS 代码也可以与 LESS 代码一同编译。

12、css 优先级算法如何计算?

  • 优先级就近原则,同权重情况下样式定义最近者为准;
  • 载入样式以最后载入的定位为准;
    important 比 内联优先级高
    优先级为:
    1、!important>行内样式>id选择器>类选择器>标签选择器>通配符>继承
    2、权重算法:(0,0,0,0)==》第一个0对应的是important的个数,第二个0对应的是id选择器的个数,第三个0对应的类选择器的个数,第四个0对应的是标签选择器的个数,就是当前选择器的3、比较:先从第一个0开始比较,如果第一个0大,那么说明这个选择器的权重高,如果第一个相同,比较第二个,依次类推。

13、javascript的 typeof 返回哪些数据类型

alert(typeof [1, 2]); //object
alert(typeof 'leipeng'); //string
var i = true;
alert(typeof i); //boolean
alert(typeof 1); //number
var a;
alert(typeof a); //undefined
function a(){;};
alert(typeof a) //function

1.返回数据类型

  undefined

  string

  boolean

  number

  symbol(ES6)

  Object

  Function

2.强制类型转换

	Number(参数)把任何类型转换成数值类型
	
	parseInt(参数1,参数2)将字符串转换成整数
	
	parseFloat()将字符串转换成浮点数字
	
	string(参数):可以将任何类型转换成字符串
	
	Boolean()可以将任何类型的值转换成布尔值

3.隐式类型转换

强制(parseInt(),parseFloat(),Number())
隐式(== ,!!)

15、数组方法 pop() push() unshift() shift()

push()尾部添加 pop()尾部删除
unshift()头部添加 shift()头部删除
map() : 遍历数组中的元素, 返回一个新数组(包含回调函数返回的数据)
filter():遍历数组中的元素, 返回一个新数组(包含回调函数返回 true 的元素)

16、window.onload 和 document ready 的区别

window.onload 是在 dom 文档树加载完和所有文件加载完之后执行一个函数 document.ready 原生中
没有这个方法,jquery 中有 $().ready(function),在 dom 文档树加载完之后执行一个函数(注意,这里面
的文档树加载完不代表全部文件加载完)。
( d o c u m e n t ) . r e a d y 要 比 w i n d o w . o n l o a d 先 执 行 w i n d o w . o n l o a d 只 能 出 来 一 次 , (document).ready 要比 window.onload 先执行 window.onload 只能出来一次, (document).readywindow.onloadwindow.onload(document).ready 可以出现多次

17、==和= = =的不同

==用于一般比较,===用于严格比较,==在比较的时候可以转换数据类型,===严格比较,
只要类型不匹配就返回flase。
举例说明:
"1" == true类型不同,"=="将先做类型转换,把true转换为1,即为 "1" == 1;此时,
类型仍不同,继续进行类型转换,把"1"转换为1,即为 1 == 1。
1.如果比较:"1" === true 左侧为字符型,右侧为bool布尔型或int数值型,左右两侧
类型不同,结果为false;

2.如果比较: 1 === 1 左侧为int数值型,右侧为int数值型,左右两侧类型相同,
数值大小也相同,结果为true;
3.如果比较: 1 === 2 左侧为int数值型,右侧为int数值型,左右两侧类型相同,
但数值大小不同,结果为false。

18、iframe的作用

用法
1、iframe是用来在网页中插入第三方页面,早期的页面使用iframe主要是用于导航栏这种
很多页面都相同的部分,这样在切换页面的时候避免重复下载。

优点
1、便于修改,模拟分离,像一些信息管理系统会用到。
2、但现在基本不推荐使用。除非特殊需要,一般不推荐使用。

缺点
1、iframe的创建比一般的DOM元素慢了1-2个数量级
2、iframe标签会阻塞页面的的加载,如果页面的onload事件不能及时触发,会让用户觉得
网页加载很慢,用户体验不好,在Safari和Chrome中可以通过js动态设置iframe的src属性
来避免阻塞。
3、iframe对于SEO不友好,替换方案一般就是动态语言的Incude机制和ajax动态填充内
容等。

19、png、jpg、gif 这些图片格式解释一下,分别什么时候用。有没有了解过webp?

png是便携式网络图片(Portable Network Graphics)是一种无损数据压缩位图文件格式.
优点是:压缩比高,色彩好。 大多数地方都可以用。

jpg是一种针对相片使用的一种失真压缩方法,是一种破坏性的压缩,在色调及颜色平滑变化做的不错。在www上,被用来储存和传输照片的格式。

gif是一种位图文件格式,以8位色重现真色彩的图像。可以实现动画效果.

webp格式是谷歌在2010年推出的图片格式,压缩率只有jpg的2/3,大小比png小了45%。
缺点是压缩的时间更久了,兼容性不好,目前谷歌和opera支持。

20、style标签写在body后与body前有什么区别

页面加载自上而下 当然是先加载样式。
写在body标签后由于浏览器以逐行方式对HTML文档进行解析,当解析到写在尾部的样式表(外联或写在style标签)会导致浏览器停止之前的渲染,等待加载且解析样式表完成之后重新渲染,在windows的IE下可能会出现FOUC现象(即样式失效导致的页面闪烁问题)

21、在网页中的应该使用奇数还是偶数的字体?为什么呢

使用偶数字体。偶数字号相对更容易和 web 设计的其他部分构成比例关系。Windows 自带的点阵宋体(中易宋体)从 Vista 开始只提供 12、14、16 px 这三个大小的点阵,而 13、15、17 px时用的是小一号的点。(即每个字占的空间大了 1 px,但点阵没变),于是略显稀疏。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 以下是一个简单的甘特图的HTML代码示例: ``` <!DOCTYPE html> <html> <head> <title>Gantt Chart</title> <style> table { border-collapse: collapse; width: 100%; } th, td { text-align: left; padding: 8px; border-bottom: 1px solid #ddd; } th { background-color: #f2f2f2; } .task { background-color: #4CAF50; color: white; position: relative; height: 40px; margin-bottom: 5px; } .task::before { content: ""; position: absolute; top: 0; left: 0; width: 0; height: 0; border-top: 20px solid transparent; border-bottom: 20px solid transparent; border-right: 20px solid #4CAF50; } .task span { position: absolute; left: 25px; top: 10px; } </style> </head> <body> <table> <tr> <th>Task</th> <th>Start Date</th> <th>End Date</th> </tr> <tr> <td> <div class="task"> <span>Task 1</span> </div> </td> <td>2023-02-18</td> <td>2023-02-21</td> </tr> <tr> <td> <div class="task"> <span>Task 2</span> </div> </td> <td>2023-02-22</td> <td>2023-02-26</td> </tr> <tr> <td> <div class="task"> <span>Task 3</span> </div> </td> <td>2023-02-27</td> <td>2023-03-01</td> </tr> </table> </body> </html> ``` 该示例使用了一个HTML表格来创建甘特图,其中每个任务都表示为一个具有样式的`div`元素。`::before`伪元素用于绘制表示任务时间范围的三角形,任务的名称通过一个`<span>`元素放置在任务条上。 注意,这只是一个简单的示例,并且可以进一步自定义和优化。 ### 回答2: 甘特图是一种用于展示项目进程、任务时间安排等的图表形式。在前端实现甘特图的HTML代码中,可以利用HTML、CSS和JavaScript技术进行实现。 首先,可以使用HTML来创建甘特图所需的基本结构。通过创建一个HTML容器元素,如<div>或者<canvas>,来容纳整个甘特图的内容。 接下来,可以使用CSS来定义甘特图内各个元素的样式。可以为容器元素设置宽度、高度以及背景颜色等基本样式,并使用CSS选择器为甘特图中的任务条目、任务名称、时间轴等元素设置样式。 在实现甘特图的任务条目时,可以通过使用HTML的<div>元素来表示每一个任务,并通过CSS样式设置宽度、高度和颜色等属性,以及定位每一个任务的位置。 在定位任务的不同起止时间上,可以使用CSS属性如left和right来控制任务条目的位置。定位可以使用百分比值或者像素值进行。 另外,在甘特图中,可以为每个任务元素添加一些交互特性。可以使用JavaScript来为任务元素添加事件监听器,如鼠标悬浮、点击等事件,以增强交互体验。 此外,还可以使用JavaScript来动态生成甘特图的数据。可以从后端获取项目的任务信息,并生成相应的HTML元素来表示任务条目。 总结起来,前端实现甘特图HTML代码的关键是通过HTML、CSS和JavaScript实现甘特图的基本结构、样式和交互功能。通过灵活运用这些技术,可以创建出美观、功能强大的甘特图。 ### 回答3: 甘特图是项目管理中常用的一种图表,用来展示项目在时间轴上的进度安排。要实现甘特图的HTML代码,可以按照以下步骤进行: 1. 创建一个HTML文件,并使用DOCTYPE声明,以及html、head和body标签。 2. 在head标签中,添加一个style标签,用于定义甘特图的样式。可以设置甘特图容器的宽度、高度,以及背景色等样式。 3. 在body标签中,使用div标签创建一个容器,用于放置甘特图。 4. 在style标签中,定义甘特图容器的样式。可以设置宽度和高度,以及其他样式。例如: ``` .gantt-container { width: 800px; height: 500px; background-color: #f2f2f2; } ``` 5. 使用JavaScript或jQuery等前端框架,获取需要展示的项目数据。可以使用数组对象来表示每个任务的开始时间、结束时间、持续时间等信息。 6. 根据获取的任务数据,使用div标签创建每个任务的条形表示,放置在甘特图容器中。可以根据任务的开始时间和持续时间计算出任务的位置和宽度,并设置对应的样式。 7. 设置每个任务条的样式,可以使用不同的颜色来表示不同的任务,也可以使用不同的状态来表示任务的进度。 8. 如果需要添加任务的标签或说明文字,可以使用span标签,并设置对应的样式。 9. 在页面加载完成时,将甘特图容器添加到body标签中,并显示出来。 以上就是实现甘特图的HTML代码的基本步骤。通过设置样式和使用任务数据,可以灵活地展示不同的甘特图,并方便地进行项目管理和进度监控。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值