前端面试知识题库

## 数组 (array) 数组**是用来存储多个值的对象,每一个值有一个数字索引,并且可以是任意类型。** 对象的索引是字符串,数组的索引是数字。 同时数组作为一个单独的数据类型也有自己特定的一些方法,如```join``` ```push``` ```shift```等。

应用介绍

## 垂直居中的场景

0. Can you use flexbox?

0. Can you use grid?

1. Is the element of fixed width and height?

2. Is the element of unknown width and height?

## 约定

以下 `css` 中, `child` 为被垂直居中的元素。只写了 `parent` 元素样式的,默认为 `parent` 内的元素被垂直居中。

## 前提条件:可以使用flexbox

那就爽了

```css

.parent {

  display: flex;

  justify-content: center;

  align-items: center;

}

```

## 前提条件:可以使用grid

那就爽了

```css

.parent {

  display: grid;

  justify-content: center;

  align-items: center;

}

```

## 场景1:目标元素具有固定宽|高

将元素绝对定位的位置设为50% / 50%,并设置相应方向的负 `margin` 值 `width + padding / 2` 和 `height + padding / 2` 的。

```css

.parent {

  position: relative;

}

.child {

  position: absolute;

  top: 50%;

  left: 50%;

  width: 300px;

  height: 100px;

  padding: 20px;

  margin: -70px 0 0 -170px;

}

```

在设置宽高后,将元素绝对定位相关属性设置如下(left、top、bottom、right 偏移量自定义),并设置 `margin` 为 `auto`。则元素在设定的left、top、bottom、right视口范围内垂直居中。

```css

.child {

  position: absolute;

  left: 0;

  top: 0;

  bottom: 0;

  right: 0;

  margin: auto;

  width: 300px;

  height: 100px;

  padding: 20px;

}

```

元素须具有固定的高度,则设置其 `line-height` 值与 `height` 值相等,达到竖直方向居中目的,再设置水平方向居中。

```css

.child {

  height: 100px;

  line-height: 100px;

  text-align: center;

}

```

利用display:table-cell属性使内容垂直居中。

```css

.child {

  display:table-cell;

  vertical-align: middle;

  text-align: center;

  width: 100px;

  height: 100px;

}

```

## 场景2:目标元素未知宽高

将元素绝对定位的位置设为50% / 50%,并通过 transform 属性的 translate() 方法,将元素相对当前位置,反向移动其宽高的50%。(百分比计算不是以父元素为基准,而是以自己为基准。)

```css

.parent {

  position: relative;

}

.child {

  position: absolute;

  top: 50%;

  left: 50%;

  transform: translate(-50%, -50%);

}

。。。。。。。想了解详情请下载附件。

文件列表(部分)

名称 大小 修改日期
.travis.yml0.23 KB2019-03-01
config.js0.61 KB2019-03-01
override.styl0.02 KB2019-03-01
favicon.ico0.82 KB2019-03-01
android-chrome-192x192.png15.10 KB2019-03-01
android-chrome-512x512.png15.10 KB2019-03-01
apple-touch-icon-152x152.png15.10 KB2019-03-01
msapplication-icon-144x144.png15.10 KB2019-03-01
logo.png15.10 KB2019-03-01
manifest.json0.23 KB2019-03-01
asyncdefer.svg1.09 KB2019-03-01
defer-async.md1.74 KB2020-08-31
what-is-doctype.md0.50 KB2020-08-31
1.png11.22 KB2019-03-01
10.svg0.61 KB2019-03-01
2.svg0.61 KB2019-03-01
3.svg0.40 KB2019-03-01
4.svg0.71 KB2019-03-01
5.svg0.51 KB2019-03-01
6.svg0.85 KB2019-03-01
7.svg0.98 KB2019-03-01
8.svg0.71 KB2019-03-01
9.svg0.68 KB2019-03-01
center-elements-horizontally-and-vertically.md0.97 KB2020-08-31
flexbox.md2.17 KB2020-08-31
what-is-bfc.md0.82 KB2020-08-31
difference-to-array.md0.74 KB2020-08-31
class.md1.05 KB2020-08-31
promise.md3.35 KB2020-08-31
require-and-import.md1.21 KB2020-08-31

立即下载

相关下载

[前端面试复习笔记] 题目:输入一个链表,从尾到头打印链表每个节点的值。 思路:利用栈来实现,首先根据头结点以此遍历链表节点,将节点加入到栈中。当遍历完成后,再将栈中元素弹出并打印,以此来实现。栈的 实现可以利用 Array 的 push 和 pop 方法来模拟。 。。。。。。。了解详情请下载附件。
[前端面试知识题库] ## 数组 (array) 数组**是用来存储多个值的对象,每一个值有一个数字索引,并且可以是任意类型。** 对象的索引是字符串,数组的索引是数字。 同时数组作为一个单独的数据类型也有自己特定的一些方法,如```join``` ```push``` ```shift```等。
[前端面试题] 编程题 1. JS 字符串使用堆栈处理 "(a,b,(c,d),f,g)" 2. 二维数组操作 3. 用最简单的方式,求一个数组中最大的元素,例如 arr=[5,7,9,42,18,29] 4. 正则表达式,验证手机号码,验证规则:11位数字,以1位开头 5. 以下代码求结果
[前端面试常考问题整理] 创建 `ajax` 步骤: - 1.创建 `XMLHttpRequest` 对象 - 2.创建一个新的 `HTTP` 请求,并指定该 `HTTP` 请求的类型、验证信息 - 3.设置响应 `HTTP` 请求状态变化的回调函数 - 4.发送 `HTTP` 请求 - 5.获取异步调用返回的数据 - 6.使用 `JavaScript` 和 `DOM` 实现局部刷新

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部