CSS知识总结(三)

CSS知识总结

一、实现一个简易modal框

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        html,
        body {
            height: 100%;
        }
        
        section {
            width: 800px;
            height: 100%;
            margin: 0 auto;
            background-color: rgba(68, 45, 170, .1);
        }
        
        .modal {
            display: none;
            position: absolute;
            left: 0;
            top: 0;
            z-index: 999;
            width: 100%;
            height: 100%;
            background-color: rgb(95, 93, 93, .2);
            transition: all 1s ease-in-out;
        }
        
        button {
            width: 100px;
            height: 30px;
        }
        
        .modal-box {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);
            width: 300px;
            height: 200px;
            background-color: rgb(252, 246, 246);
        }
    </style>
</head>

<body>
    <section>
        <button></button>
    </section>
    <div class="modal">
        <div class="modal-box">
            <header></header>
            <main></main>
            <footer></footer>
        </div>
    </div>
    <script>
        const button = document.querySelector('button');
        const modal = document.querySelector('.modal');

        button.addEventListener('click', function(e) {
            modal.style.display = 'block';
        });

        modal.addEventListener('click', function(e) {
            if (e.target == modal) {
                modal.style.display = 'none';
            }

        })
    </script>
</body>

</html>

二、关于前端渲染和后端渲染

前端渲染和后端渲染

三、笔试题

1.css属性overflow属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。(√)

2.有关HTML的Doctype和严格模式与混杂模式的描述:

文档类型
DTD(文档类型定义)是一组机器可读的规则,他们定义 XML 或 HTML 的特定版本中允许有什么,不允许有什么。在解析网页时,浏览器将使用这些规则检查页面的有效性并且采取相应的措施。浏览器通过分析页面的 DOCTYPE 声明来了解要使用哪个 DTD ,由此知道要使用 HTML 的哪个版本。
DOCTYPE 当前有两种风格,严格( strict )和过渡( transitional )。过渡 DOCTYPE 的目的是帮助开发人员从老版本迁移到新版本。
如果发送具有正确的 MIME 类型的 XHTML 文档,理解 XML 的浏览器将不显示无效的页面。
浏览器模式
浏览器有两种呈现模式:标准模式混杂模式(quirks mode)。在标准模式中,浏览器根据规范呈现页面;在混杂模式中,页面以一种比较宽松的向后兼容的方式显示。
DOCTYPE 切换
对于 HTML 4.01 文档,
包含严格 DTD 的 DOCTYPE 常常导致页面以标准模式呈现。
包含过度 DTD 和 URI 的 DOCTYPE 也导致页面以标准模式呈现。
但是有过度 DTD 而没有 URI 会导致页面以混杂模式呈现。
DOCTYPE 不存在或形式不正确会导致 HTML 和 XHTML 文档以混杂模式呈现。

3.关于精灵图 (CSS Spirites)

CSS Sprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。
利用CSS的“background-image”,“background- repeat”,“background-position”的组合进行背景定位,background-position可以用数字精确的定位出背景图片的位置。
利用CSS Sprites能很好地减少网页的http请求,从而大大的提高页面的性能,这也是CSS Sprites最大的优点,也是其被广泛传播和应用的主要原因;
CSS Sprites能减少图片的字节,曾经比较过多次3张图片合并成1张图片的字节总是小于这3张图片的字节总和。所以C错误
解决了网页设计师在图片命名上的困扰,只需对一张集合的图片上命名就可以了,不需要对每一个小元素进行命名,从而提高了网页的制作效率。
更换风格方便,只需要在一张或少张图片上修改图片的颜色或样式,整个网页的风格就可以改变。维护起来更加方便。

4.三大浏览器内核

Wekbit是一个开源的Web浏览器引擎,也就是浏览器的内核。Apple的Safari, Google的Chrome, Nokia S60平台的默认浏览器,Apple手机的默认浏览器,Android手机的默认浏览器均采用的Webkit作为器浏览器内核。Webkit的采用程度由 此可见一斑,理所当然的成为了当今主流的三大浏览器内核之一。另外两个分别是GeckoTrident,大名鼎鼎的Firefox便是使用的Gecko 内核,而微软的IE系列则使用的是Trident内核。
另外,搜狗浏览器是双核的,双核并不是指一个页面由2个内核同时处理,而是所有网页(通常是标准通用标记语言的应用超文本标记语言)由webkit内核处理,只有银行网站用IE内核

四、AJAX技术原理

  1. AJAX指异步的JS和XML
    AJAX并不是新的技术,而是现有几种技术结合,实现网页请求更新渲染的异步处理。

AJAX主要包括:

  1. 使用CSS和XHTML来表示。
  2. 使用DOM模型来交互和动态显示。
  3. 使用XMLHttpRequest来和服务器进行异步通信。
  4. 使用javascript来绑定和调用。

AJAX的核心是XMLHttpRequest 对象

AJAX主要原理是在用户和服务器端之间加了一个中间层——AJAX引擎,使用户操作与服务器响应异步化。

在这里插入图片描述

五、关于BFC的面试题

1.两个兄弟盒子A在上、B在下,A margin-bottom:20px,B margin-top:30px A和B的最终距离是多少?

30px 因为同属于一个BFC,margin会重叠。可以给B套一个盒子并开启BFC就变成50px了。

  1. A和B是父子关系A在外、B在内,A margin-top:30px ,B margin-top: 20px,A和B之间的距离是多少?

相同的原因,两个盒子的margin会重叠,导致子盒子会顶在父盒子边框。所以距离是0px。

3.A是绝对定位,B是相对定位,A和B是兄弟关系,A和B分别相对什么位置移动,A 和 B 是否脱离文档流

A相对有定位的父盒子或者根元素移动,脱离文档流;B相对自己位置移动,不脱离文档流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值