前端开发面试题之HTML、CSS

2021-01-27  本文已影响0人  我没叫阿

HTML

<form>
    <label for="userName">用户名 : </label>
    <input type="text" id="userName" />
</form>

CSS

-webkit-text-size-adjust:none;  //但这个属性在高版本的 Chrome 中已经被废除。
transform: scale();
 @supports (display: flex) { div { display: flex; }}
 @supports not (display: flex) { div { float: right; }}

calc()函数用于动态计算长度值。 calc()函数支持 "+", "-", "*", "/" 运算;

width:calc(100% - 30px) / 4;  //注意:符号前后都需要加空格
@media screen and (min-width:960px){ 
    body{background:orange;}
 }

css水平、垂直居中的写法,请至少写出4种?
水平居中

text-align: center;  /* 行内元素*/
margin: 0 auto;  /* 块级元素*/
position:absolute;left:50%;transform:translateX(-50%);
display:flex; justify-content: center;

垂直居中

height: 100px;line-height: 100px;
position:absolute;top:50%;transform:translateY(-50%);
display:flex; align-items: center;
display:table+display:table-cell; vertical-align: middle;
height: 1px;transform: scaleY(0.5);
box-sizing: content-box;  /* 是W3C盒子模型。*/
box-sizing: border-box;  /* 是IE盒子模型。*/
position: relative;  /* 相对定位就是相对于原来在标准流中的位置进行移动。*/
position: absolute;  /* 默认情况下是以body为参考点,如果祖先元素中有一个元素也是定位流(相对定位、绝对定位、固定定位),那么就是以这个元素为参考点。*/

1、viewport + rem 实现
同时通过设置对应viewport的rem基准值,这种方式就可以像以前一样轻松愉快的写1px了。
在devicePixelRatio = 2 时,输出viewport:

<meta name="viewport" content="initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no">

在devicePixelRatio = 3 时,输出viewport:

<meta name="viewport" content="initial-scale=0.3333333333333333, maximum-scale=0.3333333333333333, minimum-scale=0.3333333333333333, user-scalable=no">

2、box-shadow模拟边框,利用css 对阴影处理的方式实现0.5px的效果

box-shadow: inset 0px -1px 1px -1px #c8c7cc;

3、transform实现

  transform: scaleY(.5);  //横线
例:
  background:linear-gradient(red, blue);

过度:transition: ;可以实现动画
自定义动画:@keyframes
唯一引入的伪元素:::selection
媒体查询:@media

例:
@media screen and (max-width: 300px) {
    body {
        background-color:lightblue;
    }
}

边框图像:border-image

例:
  border-image:url(border.png) 30 round;

动态伪类选择器
:hover
:active

UI元素状态伪类选择器
-适用于表单验证,例如input可用或不可用
:enabled
:disabled

input:enabled {
  background: green;
}
input:disabled {
  background: #f4f4f4;
}
<input type="text" disabled>
<input type="text">

伪元素用于想某些选择器设置特殊效果
-为了和伪类区分开,伪元素需要写两个冒号(::)
::first-letter 设置第一个字的样式
::first-line 设置第一行的样式
::before
::after

上一篇 下一篇

猜你喜欢

热点阅读