CSS样式层叠表

1、link与@import的区别(5点)

(1)、link为XHTML的标签,可以引进CSS样式表,除了引进CSS文件还可以引进其他的文件如.js或.rss文件;@import为CSS中的标签,只能引进CSS文件。

(2)、加载顺序不同:link引进的CSS时同时也被加载,而@import引进的CSS要下载完才加载。

(3)、兼容性问题:@import是CSS2.1才出来的不被老的浏览器支持,而link没有此问题。

(4)、使用JavaScript操作DOM改变样式只能由link引进CSS文件才能实现。

(5)、@import可在CSS内再次引进CSS其他文件

<link src="xx.css" rel="styleSheet" type="text/css">

<style>

@import xx.css;

</style>

2、display和visibility的区别

(1)、display:none;是元素没有框,即是没有宽高,不占文档的位置;

   display:inline;可以使像<p>这样的块级元素变为像<a>一样的行内元素

   display:block;可以使像<a>一样的行内元素变为像<p>一样的块级元素

   display:inline-block;行内块元素

(2)、visibility:hidden;不显示,透明,但是有宽高,在文档中占有位置,只是隐藏

3、定位机制

除了默认的流定位方式,还有:浮动定位,相对定位,绝对定位,和固定定位

浮动定位:将元素排除在普通流之外,将它放置到边框的左边或右边

相对定位:将元素相对于普通流中的位置定位

绝对定位:将元素内容完全从普通流中完全移除,可以偏移属性在固定元素的位置

固定定位:将元素固定在页面的一个某个位置

4、标签语义化

在HTML5的新标签,开始了标签语义化,直观的认识标签和属性的用途和作用。如<header>、<aside>、<footer>

语义化可让页面显得结构化,便于浏览器解析,便于引擎搜索解析,并提高代码的可读性,可维护性和可重用性。

5、为什么简易设置背景图片时,需要设置背景颜色?

一般我们在设置background-image时都会设置background-color,并设置与图片相应的颜色。如果在加载页面的,突发状况,图片无法显示,页面可以使用背景颜色充当。

6、CSS中content的作用

content属性与:before和:after伪元素配合使用来插入生成的内容,在元素之前或者元素之后,可以插入文本、图像、引号及计数器生成的编号

eg、body{counter-reset:chapter}

  h1:before{content:"第"chapter(chapter)"章"}

  h1{counter-increment:chaptr}

7、CSS sprite是什么,优缺点?

CSS精灵,是一种网页图片应用处理方式,把网页中的一些背景图片整合在一张图片文件中,在利用background-image、background-repeat、background-position组合进行背景定位。

优点:(1)、减少HTTP请求,提高性能

    (2)、减少图片字节

    (3)、减少命名困扰

    (4)、更换风格方便

缺点:图片合成麻烦,设置时必须精确定位,维护时最好是添加图片,不更改已有的图片

8、过渡与动画的区别

过渡属性transition可以在一定时间内实现元素的状态过渡到另一个状态,模拟动画效果,但功能有限。而动画属性animation则可以实现比较复杂的动画,通过关键帧控制动画的每一步控制更为精准,可以实现复杂动画。

9、CSS reset

CSS reset叫CSS重写或CSS重置

用于改写HTML标签的默认样式,如p元素有上下边距,li 有列表标识符。这些默认样式在不同的浏览器会有不同的效果,如ul默认有缩进的样式,在IE中使用margin实现,在Firefox中是用padding实现,这必然会有兼容性问题。

因此在CSS样式中去掉这些默认样式,重新定义标签样式覆盖默认样式,即为CSS reset。

注意,样式重写不建议用*{}来重置,影响性能

p,b,ul{margin:0;padding:0}

10、浏览器兼容性

由于浏览器的版本及类型不同导致CSS的样式也不尽相同因此需要考虑到浏览器的兼容性书写不同的CSS样式。

首先,各主流的浏览器对W3C的标准支持较好,所以要保证代码符合W3C的标准。

其次,对于某些支持受限的属性,针对不同的浏览器添加不同的前缀,如-webkit-  -o-    -moz-.

还有,对于IE的低版本可带前缀书写特定的代码,实现版本识别

eg   .bg{

    background-color:#333;/*所有都能识别*/

    *background-color:#00deff\9;/*IE 6 7 8能识别*/

    +background-color:#a200ff;/*IE6 7能识别*/

    _background-color:#l10bd1;/*IE6*/

    }

另外,特殊情况特殊处理

(1)CSS reset改变默认的样式效果

(2)IE低版本中auto不能实现居中,用text-align

(3)子元素设置外边距时,父元素设置外边距或border

(4)外边距合并问题

最后的*清除浮动元素带来的影响*

  由于浮动的元素不在文档的普通流中,所以元素浮动之后其原有的位置不在保留,其他的元素位置也会受到影响。

(1)清除左右带来的浮动影响,用clear属性来设置,如果在包含框内,是父元素显示其宽高使用overflow:hidden来设置。

推荐方法(2)父元素添加后置内容生成

      parent:after{

            content:" ";

            display:table;

            clear:both;

          }

还有我们经常遇到的小问题,<div>

               <div class="s1"></div>

            <div>

            <style>

              .s1{margin-top:10px;}

            </style>

margin-top是不是把父元素也带下来了呢?第一个子元素的margin-top与最后一个子元素的margin-bottom的越界问题

解决(1)、给父元素加border

  (2)、给父元素加padding

  (3)、给父元素加overflow:hidden;

  (4)、推荐方法:为父元素添加前置内容生成

    .parent:before{

        content:"";

        display:table;

          }

css中的注意项,可能会帮助到大家哦!的更多相关文章

  1. 为什么CSS中的calc函数可能会不生效?

    前言 在早期如果想要对某一些样式进行动态计算,绝大多数的做法都是使用JavaScript来进行,当时的CSS在面对这种场景显得有点无能为力.但是,当CSS3中新增了calc函数时,面对这种场景,Jav ...

  2. 关于CSS中的定位使用子绝父相(子类绝对位置和父类相对位置)

    关于CSS中的定位使用子绝父相(子类绝对位置和父类相对位置) 欢迎转发,但是请填写原博客地址https://www.cnblogs.com/JNovice/p/9536910.html  前言:最近在 ...

  3. css中overflow:hidden的属性 可能会导致js下拉菜单无法显示

    css中overflow:hidden属性导致ExtJS中无法显示下拉滚动条 overflow属性: visible 默认.内容不会被修剪,会呈现在元素之外. hidden 内容会被修剪,但是浏览器不 ...

  4. 深入理解CSS中的层叠上下文和层叠顺序(转)

    by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=5115 零.世间的道 ...

  5. 深入理解CSS中的层叠上下文和层叠顺序

    零.世间的道理都是想通的 在这个世界上,凡事都有个先后顺序,凡物都有个论资排辈.比方说食堂排队打饭,对吧,讲求先到先得,总不可能一拥而上.再比如说话语权,老婆的话永远是对的,领导的话永远是对的. 在C ...

  6. [转]深入理解CSS中的层叠上下文和层叠顺序

    http://www.zhangxinxu.com/wordpress/2016/01/understand-css-stacking-context-order-z-index/ 零.世间的道理都是 ...

  7. CSS中的元素分类

    CSS中的元素分类 元素是文档结构的基础,在CSS中,每个元素生成了一个包含了元素内容的框(box,也译为"盒子").但是不同的元素显示的方式会有所不同,例如<div> ...

  8. css3系列-2.css中常见的样式属性和值

    css3系列-2.css中常见的样式属性和值 继续上一篇文章的继续了解css的基础知识,关注我微信公众号:全栈学习笔记 css中常见的样式属性和值 字体与颜色 背景属性 文本属性 边框属性 内外边距 ...

  9. 原来css中的border还可以这样玩

    原来css中的border还可以这样玩 前面的话: 在看这篇文章之前你可能会觉得border只是简单的绘制边框,看了这篇文章,我相信你也会跟我一样说一句"我靠,原来css中的border还可 ...

随机推荐

  1. YUM安装软件

    YUM:介绍.工作流程.本地yum.网络yum.yum的相关命令 一.What is YUM YUM是基于rpm但更胜于rpm的软件管理工具 YUM的优点: 1.更方便的管理rpm软件包 2.自动解决 ...

  2. [翻译] 编写高性能 .NET 代码--第二章 GC -- 配置选项

    配置选项 在基于"less rope to hang yourself with"思想下,.NET 框架没有给开发提供很多太多的配置选项.但在大多数情况下,GC会跟你的硬件配置,及 ...

  3. Android浏览器访问java web的方法

    以前自己也做过Android程序,可以和服务器通信,通过json来存取数据,当时是在APP中直接存取数据的,而这次我打算在手机浏览器中获得服务器传过来的Json参数,后来才发现其实很简单的,首先需要手 ...

  4. 计蒜客 无脑博士 bfs

    题目链接无脑博士的试管们 思路:直接模拟倒水过程即可,但是需要记忆判断当前的情况是否已经处理过.dfs和bfs都ok AC代码 #include <cstdio> #include < ...

  5. java8在Collection中新增加的方法removeIf

    记得我在以前找工作的经历中,遇到过一个面试官问过我一个很基础的问题.问题是:有一个List中有10个元素,我现在想从中删除3个元素,请问怎么做?我当时也没想,就直接说,List的有自带的remove方 ...

  6. 深度拾遗(01) - 梯度爆炸/梯度消失/Batch Normal

    什么是梯度爆炸/梯度消失? 深度神经网络训练的时候,采用的是反向传播方式,该方式使用链式求导,计算每层梯度的时候会涉及一些连乘操作,因此如果网络过深. 那么如果连乘的因子大部分小于1,最后乘积的结果可 ...

  7. spring+mybatis+c3p0数据库连接池或druid连接池使用配置整理

    在系统性能优化的时候,或者说在进行代码开发的时候,多数人应该都知道一个很基本的原则,那就是保证功能正常良好的情况下,要尽量减少对数据库的操作. 据我所知,原因大概有这样两个: 一个是,一般情况下系统服 ...

  8. 笔记︱信用风险模型(申请评分、行为评分)与数据准备(违约期限、WOE转化)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 巴塞尔协议定义了金融风险类型:市场风险.作业风 ...

  9. jlink烧写Nor Flash时出错正确解决方法汇总:PC of target system has unexpected value after programming

    成都国嵌的课程:国嵌体验入门班-2-1(开发板系统安装-Jlink方式).rar毒害了不少人,那种直接烧写nor flash,不进行任何配置的方法,能够成功纯属偶然,他自己在视频中烧写时也出现了两次错 ...

  10. javascript parseint