meta标签有哪些属性和属性值?li设为行内块时有间隙怎么办?call、apply和bind的作用和区别?

简介: `meta`标签可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。`meta`标签位于文档的头部,不包含任何内容。`meta`标签的属性定义了与文档相关联的名称/值对。

一省:HTML

13. meta标签有哪些属性和属性值?

meta标签可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。meta标签位于文档的头部,不包含任何内容。meta标签的属性定义了与文档相关联的名称/值对。编辑器创建默认属性和属性值如下:

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
  1. charset: 规定 HTML 文档的字符编码。
  2. http-equiv: 顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变量值。meta标签的http-equiv属性语法格式是:
    <meta http-equiv="参数" content="参数变量值">
    
    主要有:
    <meta http-equiv="Set-Cookie" content="cookievalue=xxx; expires=Friday,12-Jan-2001 18:18:18 GMT; path=/">:如果网页过期,那么存盘的cookie将被删除。必须使用GMT的时间格式。
    <meta http-equiv="expires" content="时间" >:用于设定网页的到期时间。一旦网页过期,必须到服务器上重新传输。
    <meta http-equiv="Refresh" content="5;URL">:告诉浏览器在【数字】秒后跳转到【一个网址】
    <meta http-equiv="content-Type" content="text/html; charset=utf-8">:设定页面使用的字符集。
    <meta charset="utf-8">:在HTML5中设定字符集的简写写法。
    <meta http-equiv="Pragma" content="no-cache">:禁止浏览器从本地计算机的缓存中访问页面内容。访问者将无法脱机浏览。
    <meta http-equiv="Window-target" content="_top">:用来防止别人在iframe(框架)里调用自己的页面,这也算是一个非常实用的属性。
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> :强制浏览器按照特定的版本标准进行渲染。但不支持IE7及以下版本。如果是ie浏览器就用最新的ie渲染,如果是双核浏览器就用chrome内核。
    
  3. name: 主要用于描述网页,与之对应的属性值为content,content中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">:在移动设备浏览器上,禁用缩放(zooming)功能,用户只能滚动屏幕。
    <meta name="description" content="">:告诉搜索引擎,当前页面的主要内容是xxx。
    <meta name="keywords" content="">:告诉搜索引擎,当前页面的关键字。
    <meta name="author" content="">:告诉搜索引擎,标注网站作者是谁。
    <meta name="copyright" content="">:标注网站的版权信息。
    

二省: CSS

13. li设为行内块时有间隙怎么办?

li的display设置为inline-block时,li之间会产生一定的间隙,是因为浏览器把行内元素后边的换行转化为空格了,如:

<style>
  li{
    
    
    display: inline-block;
    width: 100px;
    height: 100px;
    list-style: none;
    border: 5px solid skyblue;
    background: tomato;
  }
</style>
<ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
</ul>

li之间间隙

解决方法:

  1. 把li写在同一行,缺点是不美观,对码农不友好
    <style>
    li{
          
          
     display: inline-block;
     width: 100px;
     height: 100px;
     list-style: none;
     border: 5px solid skyblue;
     background: tomato;
    }
    </style>
    <ul>
    <li>1</li><li>2</li><li>3</li>
    </ul>
    
  2. 方便又好用的方式->弹性盒子,就是把父元素的display设置为flex
    <style>
    ul {
          
          
     display: flex;
    }
    li{
          
          
     width: 200px;
     height: 200px;
     list-style: none;
     border: 5px solid skyblue;
     background: tomato;
    }
    </style>
    <ul>
    <li>1</li>
    <li>2</li>
    <li>3</li>
    </ul>
    

弹性盒子去除间隙

三省:JavaScript

13. call、apply和bind的作用和区别?

作用: 在this那篇文章已经说过这三种方法可以改变this的指向,回顾一下代码

let obj = {
   
   
  name: "Jack",
  say: function(...args) {
   
   
    console.log("my name is " + this.name)
  }
}

let obj1 = {
   
   
  name: "Marry"
}
obj.say.call(obj1);//my name is Marry

let obj2 = {
   
   
  name: "Jarry"
}
obj.say.apply(obj2);//my name is Jarry

let obj3 = {
   
   
  name: "Lorry"
}
let obj3Say = obj.say.bind(obj3)
obj3Say();//my name is Lorry

可见,只有bind方法实现方式不太相同,会返回一个新的函数。除此之外,它们还是可以传参数的,只是传参数的方式略有不同,对上边代码稍微改造一下:

let obj = {
   
   
  name: "Jack",
  say: function(...args) {
   
   
    console.log("my name is " + this.name + " and my friends are " + [...args])
  }
}

let obj1 = {
   
   
  name: "Marry"
}
// 传给回调函数的参数依次传入
obj.say.call(obj1, "Bob", "Koby");//my name is Marry and my friends are Bob,Koby

let obj2 = {
   
   
  name: "Jarry"
}
//传给回调函数的参数放在一个数组中传过去
obj.say.apply(obj2, ["Jane", "Mick"]);//my name is Jarry and my friends are Jane,Mick

let obj3 = {
   
   
  name: "Lorry"
}
let obj3Say = obj.say.bind(obj3, "James", "Jondon")
// 传给回调函数的参数与call方法一致
obj3Say();//my name is Lorry and my friends are James,Jondon
相关文章
|
6月前
|
前端开发
列表 - 简写属性
列表 - 简写属性。
31 6
|
6月前
a标签target属性的取值和作用?
a标签target属性的取值和作用?
77 0
|
JavaScript
js通过input框输入属性和值,改变div的属性
js通过input框输入属性和值,改变div的属性
119 0
|
2月前
|
API
简述a标签超链接target属性的取值和作用
简述a标签超链接target属性的取值和作用
|
2月前
<select>标记和<option>标签的常用属性
<select>标记和<option>标签的常用属性
40 2
|
5月前
|
存储 JavaScript 前端开发
HTML标签data-属性的作用
HTML标签data-属性的作用
|
6月前
|
XML JSON 移动开发
BpmnJS 元素属性的updateProperties 和updateModdleProperties的属性更新区别
BpmnJS 元素属性的updateProperties 和updateModdleProperties的属性更新区别
232 1
|
5月前
|
UED
简述a标签target属性的取值和作用
简述a标签target属性的取值和作用
48 0
|
前端开发 JavaScript 容器
display有哪些值?说明他们的作用?
display有哪些值?说明他们的作用?
119 0
|
6月前
|
JavaScript 前端开发 Go
<script> 标签的 defer 和 asnyc 属性的作用以及二者的区别
<script> 标签的 defer 和 asnyc 属性的作用以及二者的区别
69 0