当前位置:网站首页>Summary of front-end interview questions (C, s, s) that front-end engineers need to understand (2)

Summary of front-end interview questions (C, s, s) that front-end engineers need to understand (2)

2020-11-06 20:48:00 Tell me Zhan to hide

Several methods to realize the horizontal and vertical center of elements :

<div id="wrap">
  <div class="box"></div>
</div>

1. Positioning method to achieve horizontal and vertical center

<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>

Positioning and transform Method to realize the horizontal and vertical center of elements

<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. Latest version flex Achieve horizontal and vertical centering of elements

<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. Use old version flex Realize the horizontal and vertical center of elements

<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>

In pure css Create a triangle

The main thing is to set the height and width to 0, Use borders to achieve triangle effect
html Code :

<div id="box">
	</div>

css Code :

<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](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTQ4MTQ2LzE1ODc1MTMxNDUyNTItYTIzMjk5ZDUtMzVjOC00ZmJkLTk3NmEtNDY3ODVhMzA4MDZmLnBuZw?x-oss-process=image/format,png#align=left&display=inline&height=247&margin=[object Object]&name=image.png&originHeight=494&originWidth=542&size=13252&status=done&style=none&width=271)
From the above effect, you can change the triangle type to the corresponding border color according to your own needs , Unnecessary borders are set to transparent
As an example : The left and top borders are set to red

#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](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTQ4MTQ2LzE1ODc1MTM0NDYwMzctZjE2Mzg4YWItMmJiNC00YjdkLTliN2UtYWI1YzEyYTA0OTRkLnBuZw?x-oss-process=image/format,png#align=left&display=inline&height=219&margin=[object Object]&name=image.png&originHeight=438&originWidth=506&size=10239&status=done&style=none&width=253)

How to realize mobile terminal rem adapter

html The font size of the root element sets the width of the screen area

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

}
</style>
<script type="text/javascript"> window.onload = function () {
   
		//  Get screen area width 
		var width=document.documentElement.clientWidth

		//  obtain html
		var htmlNode = document.querySelector('html')

		//  Set font size 
		htmlNode.style.fontSize= width + 'px'
	}
</script>

版权声明
本文为[Tell me Zhan to hide]所创,转载请带上原文链接,感谢