阅读 19

前端工程师需要懂的前端面试题(c s s方面)总结(二)

实现元素水平垂直居中的几种方法:

<div id="wrap">
  <div class="box"></div>
</div>
复制代码

1. 定位方法实现水平垂直居中

<style>
*{
	margin: 0;
  padding: 0;
}
#wrap {
	width: 500px;
  height: 500px;
  background: grey;
  position: relative;
}
#wrap .box {
	width: 200px;
  height: 200px;
  background: pink;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
	margin: auto;
	position: absolute;
}
</style>
复制代码

定位和transform方法实现元素水平垂直居中

<style>
*{
	margin: 0;
  padding: 0;
}
#wrap {
	width: 500px;
  height: 500px;
  background: grey;
  position: relative;
}
#wrap .box {
	width: 200px;
  height: 200px;
  background: pink;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}
</style>
复制代码

3. 最新版本的flex实现元素的水平垂直居中

<style>
*{
	margin: 0;
  padding: 0;
}
#wrap {
	width: 500px;
  height: 500px;
  background: grey;
  display: flex;
	justify-content: center;
	align-items: center;
}
#wrap .box {
	width: 200px;
  height: 200px;
  background: pink;
}
</style>
复制代码

4. 使用老版本flex实现元素水平垂直居中

<style>
*{
	margin: 0;
  padding: 0;
}
#wrap {
	width: 500px;
  height: 500px;
  background: grey;
  display: -webkit-box;
	-webkit-box-pack: center;
	-webkit-box-align: center;
}
#wrap .box {
	width: 200px;
  height: 200px;
  background: pink;
}
</style>
复制代码

用纯css创建一个三角形

主要是把高度和宽度设置成为0,用边框来实现三角形效果
html代码:

	<div id="box">
	</div>
复制代码

css代码:

<style>
*{
	margin: 0;
  padding: 0;
}
#box {
	width: 0px;
	height: 0px;
	border: 100px solid ;
	border-top-color: red;
	border-right-color: blue;
	border-left-color: yellowgreen;
	border-bottom-color: deeppink;

}
</style>
复制代码

image.png

由上图效果可以根据自己需要三角形类型改成相应边框的颜色,不需要的边框设置成transparent
如例子:左边和上边的边框设置成红色

#box {
	width: 0px;
	height: 0px;
	border: 100px solid ;
	border-top-color: red;
	border-right-color: transparent;
	border-left-color: red;
	border-bottom-color:transparent ;

}
复制代码

image.png

如何实现移动端rem适配

html根元素的字体大小设置屏幕区域的宽

	<div id="box">
	</div>
复制代码
<style>
*{
	margin: 0;
  padding: 0;
}
#box {
	width: 1rem;
	height: 1rem;
background: red;

}
</style>
复制代码
<script type="text/javascript">
	window.onload = function () {
		// 获取屏幕区域宽度
		var width=document.documentElement.clientWidth

		// 获取html
		var htmlNode = document.querySelector('html')

		// 设置字体大小
		htmlNode.style.fontSize= width + 'px'
	}
</script>
复制代码

今天主要分享css方面的几个面试题总结,如果想了解更多,请扫描二维码,关注公众号

qrcode_for_gh_4d3763fa9780_258 (1).jpg