美文网首页
一道CSS笔试题

一道CSS笔试题

作者: 独爱一乐拉面 | 来源:发表于2017-10-22 23:55 被阅读0次
pic01.png

如上图所示,屏幕正中间有个元素A,随着屏幕宽度的增加,始终需要满足以下条件:

  1. A元素垂直居中于屏幕中央;
  2. A元素距离屏幕左右边距各20px;
  3. A元素里面的文字“A”水平垂直居中;
  4. A元素的高度始终是A元素宽度的50%。

用html和css实现。

分析

这道题主要考察css的居中和宽高等比例。其中,居中是css的经典知识点,有很多种实现,我喜欢用transform属性来控制。我们重点来看考察的第二个知识点:

在宽度不定的情况下,保持宽高的比例,这个使用场景比较少。不用js,纯CSS应该怎么实现呢?

直觉是想到用css3的calc来解决,行不通。

如果A元素的高度和宽度都以某一个值作为参照系,那么理论上A元素的height = n 乘以 width(n可自定义)。根据css规范,padding的值为百分比时,是相对于父元素的宽度而言。可见,父元素的宽度就是一个完美的参照系!给A元素包一个父元素,A元素的width为100%,height为0,padding-top为50%。这就实现了A元素的宽高等比例啦~

Talk is cheap. Show me the code. 效果预览

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
</head>
<body>
  <div class="father">
    <div class="son"><span>A</span></div>
  </div>
</body>
</html>
.father{
  overflow:hidden;
  position: absolute;
  left:20px;
  right:20px;
  top:50%;
  transform: translateY(-50%);
}

.son{
  height:0;
  width:100%;
  padding-top:50%;
  background:pink;
}

span{
  position:absolute;
  top:50%;
  left:50%; 
  transform: translate(-50%,-50%);
  font-size:10px;
}

相关文章

  • 2019-12-05面试题整理部分

    认真对待每一道面试题 CSS部分 CSS中 link 和@import 的区别是? link属于HTML标签,而@...

  • 纯 HTML+CSS+JavaScript 编写的计算器应用

    一道笔试题 之前偶然看到一个公司的笔试题,题目如下: 用HTML5、CSS3、JavaScript,做一个网页,实...

  • 一道CSS笔试题

    如上图所示,屏幕正中间有个元素A,随着屏幕宽度的增加,始终需要满足以下条件: A元素垂直居中于屏幕中央; A元素距...

  • css 面试题汇总

    css 面试题汇总 css参考手册css参考手册 50道CSS基础面试题(附答案)2018-02-22前端开发面试...

  • CSS面试笔试题

    CSS前端面试 系列文章: HTML及HTTP面试笔试题JavaScript面试笔试题 1.CSS有什么书写顺序?...

  • CSS 模块化管理

    昨天看了一道面试题,说如何管理 CSS 代码;它谈到了君子协定BEM 规范(然后楼主就说自己马上就拿到 offer...

  • 2022年web前端面试题

    web前端面试题分为:html/css面试题、javascript面试题、vue面试题、性能优化面试题、网络方面面...

  • 关于class superClass super

    下面一道面试题:@implementation Son : Father 很多iOS面试题库中都有这一道面试题,上...

  • 应收账款怎么管理?请看我的实操

    前段时间,网友向我咨询一道财务主管面试题(上几道财务主管面试题: 企业需要核销一笔金额为200万元的应收款项,据你...

  • 面试

    来深圳面试的第二天,真的涨经验了,第一次就一道JS题,其他全是HTML css。 第二次也是一道JS面试题,其他v...

网友评论

      本文标题:一道CSS笔试题

      本文链接:https://www.haomeiwen.com/subject/hntnuxtx.html