精华内容
下载资源
问答
  • web开发通用css

    2011-05-27 01:42:58
    主要的、通用的、常见的css类型css代码
  • 通用css样式

    2012-08-26 11:16:18
    通用css样式
  • 层叠样式表(英文全称:CascadingStyleSheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言...
  • WebCSS概述

    热门讨论 2015-07-25 14:54:35
    Web界面布局使用到的CSS你想了解吗?你想熟悉吗?你想让它成为你的翅膀吗?那点进来看看我的分享吧。

    一、概念:

        它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言
    的一个子集)等文件样式的计算机语言。

    二、特点:

        1.实现网页内容与样式的分离
        2.减少图形文件的使用。
        3.集中管理样式信息。
        4.共享样式设定。
        5.将样式分类使用。

    三、选择器优先级:

        ID选择器 > class选择器 > HTML标签选择器(body)

    四、核心内容:

        1.标准流(排布):标准流就是标签的排列方式。

            比如 <div>red</div> <p>blue</p>
            页面里显示,第一行是”red“,第二行是”blue“
            页面里显示的顺序和代码里的顺序一致就是符合标准流的
            若是给上面的标签加上浮动或定为属性,就可能脱离标准流,显示为blue在前,red在后了
            比如 <div style="float:right">red</div> <p>blue</p>

        2.盒子模型:在网页设计中经常用到的CSS技术所使用的一种思维模型。

            

            

        3.盒子浮动、定位:盒子在标准流中的排列方式往往不能满足要求,如果希望盒子能够灵活定位(满足布局的要求),就用到了盒子浮动和定位。
            左浮动(float:trun;)、右浮动(float:left;)、使后续的盒子不受前面浮动盒子的影响(clear:both;);定位(position:static(静态)、relative(相对)、absolute(绝对)、fixed(固定))
        4.块级元素(本行有背景颜色)、行内元素(本行中的内容有背景颜色)
            1、块级元素:如:<div></div>
            2、行内元素:如:<span></span>

            如下图效果:

              

    五、CSS属性:

         CSS属性太多,这里来个链接(http://www.cnblogs.com/laihuayan/archive/2012/07/27/2611111.html),到时候用到的时候再去查吧。

    展开全文
  • CSS-Components-Modifiers-And-Subcomponents-Collection, 通用CSS模块类名称的集合 CSS组件,修饰符和子组件集合web组件的公共CSS组件。修饰符和子组件类名称的集合。什么是CSS组件,修饰符和子组件?最近我一直在...
  • 我想请问通用选择器和body选择器的区别是什么? 为什么我用通用选择器定义好默认样式之后,在后续定义样式时很难改变例如 *{ font:12px Arial,"Mcrosoft Yahei",Verdana; } 后边我定义字体大小时,字体大小不会改变...
  • 把页面的通用属性全部写出来。 所有的手机端新建项目时候都可以直接拿这套代码快速搭建一个手机端框架。 js中规定了页面最大宽度。为16rem。所以width:16rem;就等于width:100%; 我一般喜欢把边距设置为0.5rem...

    把页面的通用属性全部写出来。

    所有的手机端新建项目时候都可以直接拿这套代码快速搭建一个手机端框架。

    js中规定了页面最大宽度。为16rem。所以width:16rem;就等于width:100%;

    我一般喜欢把边距设置为0.5rem。所以页面一般宽度我写了15rem。

    rem写法好处是,自适应手机屏,手机屏不管是大小,都完美显示,不会错位。

    相比用百分比写法,rem写法计算相对简单。

    设计图画多大像素就对应写多少rem。比百分比页面精确。

    HTML部分,在html标签上写一个id。然后js控制html页面宽度。layui.js 和 jquery.js 自行引入。我就不提供了。

    <!DOCTYPE html>
    <html lang="en" id="leekoh">
    	<head>
    		<meta charset="UTF-8" name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0" />
    		<link rel="stylesheet" href="layui/css/layui.css" />
    		<script type="text/javascript" src="js/jquery.js" ></script>
    		<script type="text/javascript" src="layui/layui.js"></script>
    		<title></title>
    	</head>
    	<body>
    		<nav>
    			<a onClick="javascript :history.back(-1);"><i class="layui-icon layui-icon-left" style="color: #fff; width: 40px; line-height: 2rem;"></i></a>
    			<span class="renwu">首页</span>
    		</nav> 
    		<div class="nav_bg"></div>
    	</body>
    </html>
    

    css部分清除原始的标签属性。后面用起来更顺手。

    *{
      margin: 0;
      padding: 0;
      border: 0;
      color: #333;
      font-family: "\5FAE\8F6F\96C5\9ED1", Arial;
    }
    html {
      -webkit-font-smoothing: antialiased;
      -webkit-text-size-adjust: 100%;
      font-size: 20px;
      background: #F2F2F2;
    }
    body {
      min-width: 320px;
      max-width: 640px;
      margin: 0 auto;
    }
    a {
      text-decoration: none;
      color: #333;
      webkit-tap-highlight-color: rgba(255, 255, 255, 0);
      -webkit-user-select: none;
      -moz-user-focus: none;
      -moz-user-select: none;
    }
    table {
      border: 0;
      margin: 0;
      border-collapse: collapse;
      border-spacing: 0;
    }
    table th,
    table td {
      border: 0;
    }
    img {
      border: 0;
      vertical-align: top;
    }
    i,
    em {
      font-style: normal;
    }
    ol,
    ul,
    li {
      list-style: none;
    }
    input,
    textarea,
    select,
    button {
      padding: 0 ;
      margin: 0;
      outline: none;
      font-family: "\5FAE\8F6F\96C5\9ED1", Arial;
    }
    input[type="submit"] {
      appearance: none;
      -moz-appearance: none;
      -webkit-appearance: none;
      /*去除input默认样式*/
    }
    input {
      appearance: none;
      -moz-appearance: none;
      -webkit-appearance: none;
      /*去除input默认样式*/
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
      font-weight: normal;
    }
    .color_fff {
      color: #fff;
    }
    nav {
      width: 15rem;
      padding: 0 0.5rem;
      height: 2rem;
      background: #DD2727;
      color: #fff;
      overflow: hidden;
      margin: auto;
      position: fixed;
      top: 0;
    }
    nav a {
      width: 3rem;
      height: 2rem;
      color: #fff;
      float: left;
      line-height: 2rem;
    }
    nav a:nth-child(3) {
      width: 3rem;
      height: 2rem;
      color: #fff;
      float: right;
      line-height: 2rem;
      text-align: right;
    }
    nav span {
      width: 9rem;
      color: #fff;
      float: left;
      text-align: center;
      line-height: 2rem;
    }
    .nav_bg {
      width: 16rem;
      height: 2rem;
    }

    js部分 主要是控制页面宽度,大小等。

    $(function(){
    
    var _width = $(window).width();
    var _ziHao = 20 * (_width/320);
    if(_width < 641){
    $("#leekoh").css({"font-size":_ziHao + "px"})
    }
    
    })

     

    展开全文
  • webAudio 利用webAudio,canvas,CSS3制作的自适应的音乐可视化应用 PC端,移动端通用 欢迎加入前端高级群,探讨交流前端以及nodejs前沿的技术知识,群号:108873184
  • 银行系统web通用界面,银行ui,信用社界面
  • 普通套房 用于现代 web 应用程序的通用 jquery 插件。 CSS3 动画和 HTML5 驱动。 GenericDateTimePicker(很快) GenericTagInput(很快) GenericBubble(很快) 通用工具提示(很快)
  • CSS 三大特性 层叠 继承 优先级 是我们学习CSS 必须掌握的三个特性。 CSS层叠性 所谓层叠性是指多种CSS样式的叠加。 是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候...

    CSS 三大特性


    层叠 继承 优先级 是我们学习CSS 必须掌握的三个特性。

    CSS层叠性

    所谓层叠性是指多种CSS样式的叠加。

    是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉。

    比如先给某个标签指定了内部文字颜色为红色,接着又指定了颜色为蓝色,此时出现一个标签指定了相同样式不同值的情况,这就是样式冲突。

    一般情况下,如果出现样式冲突,则会按照CSS书写的顺序,以最后的样式为准。

    1. 样式冲突,遵循的原则是就近原则。 那个样式离着结构近,就执行那个样式。
    2. 样式不冲突,不会层叠

    CSS继承性

    所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。

    简单的理解就是: 子承父业。

    注意:
    恰当地使用继承可以简化代码,降低CSS样式的复杂性。子元素可以继承父元素的样式(text-,font-,line-这些元素开头的都可以继承,以及color属性)

    CSS优先级

    定义CSS样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。

    在考虑权重时,初学者还需要注意一些特殊的情况,具体如下:

    • 继承样式的权重为0。即在嵌套结构中,不管父元素样式的权重多大,被子元素继承时,他的权重都为0,也就是说子元素定义的样式会覆盖继承来的样式。

    • 行内样式优先。应用style属性的元素,其行内样式的权重非常高,可以理解为远大于100。总之,他拥有比上面提高的选择器都大的优先级。

    • 权重相同时,CSS遵循就近原则。也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。

    • CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!important都具有最大优先级。

    CSS特殊性(Specificity)

    关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity,我们称为CSS 特性或称非凡性,它是一个衡量CSS值优先级的一个标准 具体规范入如下:

    specificity用一个四位的数 字串(CSS2是三位)来表示,更像四个级别,值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。

    继承或者* 的贡献值 0,0,0,0
    每个元素(标签)贡献值为 0,0,0,1
    每个类,伪类贡献值为 0,0,1,0
    每个ID贡献值为 0,1,0,0
    每个行内样式贡献值 1,0,0,0
    每个!important贡献值 ∞ 无穷大

    权重是可以叠加的

    比如:

    div ul  li   ------>      0,0,0,3
    
    .nav ul li   ------>      0,0,1,2
    
    a:hover      -----—>      0,0,1,1
    
    .nav a       ------>      0,0,1,1   
    
    #nav p       ----->       0,1,0,1
    

    注意:
    1.数位之间没有进制 比如说: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 所以不会存在10个div能赶上一个类选择器的情况。
    2.继承的 权重是 0

    总结优先级:

    1. 使用了 !important声明的规则。
    2. 内嵌在 HTML 元素的 style属性里面的声明。
    3. 使用了 ID 选择器的规则。
    4. 使用了类选择器、属性选择器、伪元素和伪类选择器的规则。
    5. 使用了元素选择器的规则。
    6. 只包含一个通用选择器的规则。
    7. 同一类选择器则遵循就近原则。

    综上:权重是优先级的算法,层叠是优先级的表现

    示例代码:

    <!DOCTYPE html>
    <html lang="en">
      <head>
    	<meta charset="UTF-8">
    	<title>css的三大特性</title>
    	<style>
    	  /* 1.继承性,子承父业 */
    	  .father{
    	  	color:red;
    	  }
    
    	  /* 2.层叠性,即覆盖性:就近原则 */
    	  h1{
    	  	color:pink !important;
    	  }
    	  /* 浏览器的执行顺序:从上到下解析的 */
    	  h1{
    	  	color:blue;
    	  }
    
    	  /* 3.优先级:①标签选择器的权重:1分;
    	               ②类选择器的权重:10分;
    	               ③id选择器的权重:100分;
    	               ④提高选择器的权重:!important,权重无穷大∞;继承的权重为0;
    	               ⑤行内样式的权重:大于100分,小于无穷大。
    	                */
    	  .box{
    	  	color:orange;
    	  }
    	  #id{
    	  	color:cyan;
    	  }
    	</style>
      </head>
      <body>
    	<div name="father">
    	  1111111
    	  <h1 style="color:green" class="box">222222</h1>
    	  <ul>
    	    <li>333333</li>
    	    <li>444444</li>
    	    <li>555555</li>
    	  </ul>
    	</div>
    
    	<ul>
    	  <li>666666</li>
    	  <li>777777</li>
    	</ul>
      </body>
    </html>
    
    展开全文
  • web前端开发之CSS基础

    千次阅读 2021-03-22 09:52:22
    层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言...

    一、CSS基础

    层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

    CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力

    二、核心概念以及知识点

    2.1 css语法

    CSS 的核心功能是将 CSS 属性设定为特定的值。一个属性与值的键值对被称为声明(declaration)

    background-color: #eee;
    

    而如果将一个或者多个声明用 {} 包裹起来后,那就组成了一个声明块(declaration block)

    {
        height:200px;
        background-color: #eee;
        border: 1px solid black;
    }
    

    声明块如果需要作用到对应的 HTML 元素,那还需要加上选择器。选择器和声明块组成了CSS 规则集(CSS ruleset),常简称为 CSS 规则。

            .box {
                //属性:height:200px;
                background-color: #eee;
                border: 1px solid black;
            }
    

    2.2 CSS注释

    // 单行注释
    
    /*
        多行
        注释
    */
    

    在 CSS 文件中,除了注释、CSS 规则集以及 @规则 外,定义的一些别的东西都会被浏览器忽略

    2.3 @规则

    CSS 规则是样式表的主体,通常样式表会包括大量的规则列表。但有时候也需要在样式表中包括其他的一些信息,比如字符集,导入其它的外部样式表,字体等,这些需要专门的语句表示。

    CSS 里包含了以下 @规则:

    • @namespace 告诉 CSS 引擎必须考虑XML命名空间。
    • @media, 如果满足媒体查询的条件则条件规则组里的规则生效。
    • @page, 描述打印文档时布局的变化.
    • @font-face, 描述将下载的外部的字体。
    • @keyframes, 描述 CSS 动画的关键帧。
    • @document, 如果文档样式表满足给定条件则条件规则组里的规则生效。

    2.3.1 不常用的@规则

    2.3.1.1 @charset
    • @charset 用于定义样式表使用的字符集。
    • 它必须是样式表中的第一个元素。
    • 如果有多个 @charset 被声明,只有第一个会被使用
    • 不能在HTML元素或HTML页面的 <style> 元素内使用

    例如

    @charset "UTF-8"; //必须是双引号包裹
    
    2.3.1.2 @import

    @import 用于告诉 CSS 引擎引入一个外部样式表。

    link和@import的区别:

    • link 是 HTML 标签,除了能导入 CSS 外,还能导入别的资源,比如图片、脚本和字体等;而 @import 是 CSS 的语法,只能用来导入 CSS;
    • link 导入的样式会在页面加载时同时加载,@import 导入的样式需等页面加载完成后再加载;
    • link 没有兼容性问题,@import 不兼容 ie5 以下;
    • link 可以通过 JS 操作 DOM 动态引入样式表改变样式,而@import不可以。

    2.4 CSS 选择器

    2.4.1 基础选择器

    标签选择器 类选择器 ID选择器 通配符选择器

    2.4.2 属性选择器

    [attr]:指定属性的元素;

    [attr=val]:属性等于指定值的元素;

    [attr*=val]:属性包含指定值的元素; // *匹配0或多

    [attr^=val] :属性以指定值开头的元素; // ^匹配开头

    [attr$=val]:属性以指定值结尾的元素; // $匹配结尾

    2.4.3 组合选择器

    • 相邻兄弟选择器:A + B
    • 普通兄弟选择器:A ~ B
    • 子选择器:A > B
    • 后代选择器:A B

    2.5 伪类

    2.5.1 条件伪类

    • :lang():基于元素语言来匹配页面元素;
    • :dir():匹配特定文字书写方向的元素;
    • :has():匹配包含指定元素的元素;
    • :is():匹配指定选择器列表里的元素;
    • :not():用来匹配不符合一组选择器的元素;

    2.5.2 行为伪类

    • :active:鼠标激活的元素;
    • :hover: 鼠标悬浮的元素;
    • ::selection:鼠标选中的元素;

    2.5.3 状态伪类

    • :target:当前锚点的元素;
    • :link:未访问的链接元素;
    • :visited:已访问的链接元素;
    • :focus:输入聚焦的表单元素;
    • :required:输入必填的表单元素;
    • :valid:输入合法的表单元素;
    • :invalid:输入非法的表单元素;
    • :in-range:输入范围以内的表单元素;
    • :out-of-range:输入范围以外的表单元素;
    • :checked:选项选中的表单元素;
    • :optional:选项可选的表单元素;
    • :enabled:事件启用的表单元素;
    • :disabled:事件禁用的表单元素;
    • :read-only:只读的表单元素;
    • :read-write:可读可写的表单元素;
    • :blank:输入为空的表单元素;
    • :current():浏览中的元素;
    • :past():已浏览的元素;
    • :future():未浏览的元素;

    2.5.4 结构伪类

    • :root:文档的根元素;
    • :empty:无子元素的元素;
    • :first-letter:元素的首字母;
    • :first-line:元素的首行;
    • :nth-child(n):元素中指定顺序索引的元素;
    • :nth-last-child(n):元素中指定逆序索引的元素;;
    • :first-child:元素中为首的元素;
    • :last-child :元素中为尾的元素;
    • :only-child:父元素仅有该元素的元素;
    • :nth-of-type(n):标签中指定顺序索引的标签;
    • :nth-last-of-type(n):标签中指定逆序索引的标签;
    • :first-of-type :标签中为首的标签;
    • :last-of-type:标签中为尾标签;
    • :only-of-type:父元素仅有该标签的标签;

    2.5.5 伪元素

    • ::before:在元素前插入内容;
    • ::after:在元素后插入内容;
            .box {
                height: 200px;
                position: relative;
                background-color: #eee;
            }
    
            .box::after {
                content: "";
                top: 200px;
                position: absolute;
                width: 100%;
                height: 1px;
                background-color: blue;
            }
    

    2.6 优先级

    !important        ∞无穷大
    
    内联样式           1000
    
    id选择器优先级      100
    
    类选择器 伪类选择器 属性选择器优先级      10
    
    标签选择器 伪元素选择器优先级    1
    
    通配符 后代选择器 兄弟选择器优先级        0
    

    2.7 继承性

    在 CSS 中有一个很重要的特性就是子元素会继承父元素对应属性计算后的值。

    比如页面根元素 html 的文本颜色默认是黑色的,页面中的所有其他元素都将继承这个颜色

    .box {
          color: red;
          height: 200px;
          background-color: #eee;
     }
    <div class="box">
        <p>我会继承父元素的颜色</p>
    </div>
    

    CSS 属性很多,但并不是所有的属性默认都是能继承父元素对应属性的

    那哪些属性存在默认继承的行为呢?一定是那些不会影响到页面布局的属性

    可以分为如下几类:

    • 字体相关:font-familyfont-stylefont-sizefont-weight 等;
    • 文本相关:text-aligntext-indenttext-decorationtext-shadowletter-spacingword-spacingwhite-spaceline-heightcolor 等;
    • 列表相关:list-stylelist-style-imagelist-style-typelist-style-position 等;
    • 其他属性:visibilitycursor 等;

    对于其他默认不继承的属性也可以通过以下几个属性值来控制继承行为:

    一般也没人会这么干

    • inherit:继承父元素对应属性的计算值;
    • initial:应用该属性的默认值,比如 color 的默认值是 #000
    • unset:如果属性是默认可以继承的,则取 inherit 的效果,否则同 initial
    • revert:效果等同于 unset,兼容性差。

    2.8 标准文档流

    在 CSS 的世界中,会把内容按照从左到右、从上到下的顺序进行排列显示。正常情况下会把页面分割成一行一行的显示,而每行又可能由多列组成,所以从视觉上看起来就是从上到下从左到右,而这就是 CSS 中的流式布局,又叫文档流。

    文档流特性:

    • 块级元素默认会占满整行,所以多个块级盒子之间是从上到下排列的;
    • 内联元素默认会在一行里一列一列的排布,当一行放不下的时候,会自动切换到下一行继续按照列排布;

    如何脱离文档流:

    脱流文档流指节点脱流正常文档流后,在正常文档流中的其他节点将忽略该节点并填补其原先空间。文档一旦脱流,计算其父节点高度时不会将其高度纳入,脱流节点不占据空间。

    有两种方式可以让元素脱离文档流:浮动和定位。

    • 使用浮动(float)会将元素脱离文档流,移动到容器左/右侧边界或者是另一个浮动元素旁边,该浮动元素之前占用的空间将被别的元素填补,另外浮动之后所占用的区域不会和别的元素之间发生重叠;
    • 使用绝对定位(position: absolute;)或者固定定位(position: fixed;)也会使得元素脱离文档流,且空出来的位置将自动被后续节点填补。

    2.8.1 何如清除浮动

    (1)额外标签法
    是w3C推荐的做法是通过在浮动元素末尾添加一个空的标签
    例如

    优点:通俗易懂,书写方便
    缺点:添加许多无意义的标签,结构化较差。

    (2)overflow:hidden
    可以给父级添加:overflow为hidden/ auto/ scro11

    优点:代码简洁
    缺点:内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素。

    (3))使用after伪元素清除浮动

    使用方法:
    .clearfix:after {
    		content: ""; 
    		display: block; 
    		height: 0; 
    		clear: both;
    		visibility: hidden; 
    }
    .clearfix {
    		*zoom: 1;
    }/*IE6、7专有*/
    
    

    2.9 CSS 盒模型

    一个盒子是由 4 部分组成的:内容(content)、内边距(padding)、边框(border)和外边距(margin)。

    盒模型有 2 种:标准盒模型和 IE 盒模型,本别是由 W3C 和 IExplore 制定的标准。

    我们给盒子设置如下样式:

            .box {
                width: 800px;
                height: 200px;
                border: 1px solid blue;
                padding: 20px;
                margin: 20px;
                background-color: #eee;
            }
    

    2.9.1 标准盒模型

    盒子的实际尺寸 = 内容(设置的宽/高) + 内边距 + 边框

    在这里插入图片描述

    .box元素的宽度为800px 而实际宽度为 内容+左右padding+左右border = 842px

    2.9.2 IE盒模型

    盒子的实际尺寸 = 设置的宽/高 = 内容 + 内边距 + 边框

    .box元素宽度为800px 实际宽度= 内容-左右padding-左右border = 758px
    在这里插入图片描述

    高版本的浏览器基本上默认都是使用标准盒模型,而像 IE6 这种老古董才是默认使用 IE 盒模型的。

    在 CSS3 中新增了一个属性 box-sizing,允许开发者来指定盒子使用什么标准,它有 2 个值:

    • content-box:标准盒模型;
    • border-box:IE 盒模型;

    2.10 视觉格式化模型

    视觉格式化模型(Visual formatting model)是用来处理和在视觉媒体上显示文档时使用的计算规则。CSS 中一切皆盒子,而视觉格式化模型简单来理解就是规定这些盒子应该怎么样放置到页面中去,这个模型在计算的时候会依赖到很多的因素,比如:盒子尺寸、盒子类型、定位方案(是浮动还是定位)、兄弟元素或者子元素以及一些别的因素。

    盒子类型由 display 决定,同时给一个元素设置 display 后,将会决定这个盒子的 2 个显示类型(display type):

    • outer display type(对外显示):决定了该元素本身是如何布局的,即参与何种格式化上下文;
    • inner display type(对内显示):其实就相当于把该元素当成了容器,规定了其内部子元素是如何布局的,参与何种格式化上下文;

    2.10.1 outer display type

    对外显示方面,盒子类型可以分成 2 类:block-level box(块级盒子) 和 inline-level box(行内级盒子)。

    块级盒子:display为block div、p、h1-h6、ul、ol、li

    行内级盒子:display为inline a、span、i、em

    行内块盒子:display为inline-block img、input

    所有块级盒子都会参与 BFC,呈现垂直排列;而所有行内级盒子都参会 IFC,呈现水平排列。

    2.10.1 block
    • 占满一行,默认继承父元素的宽度;多个块元素将从上到下进行排列;
    • 设置 width/height 将会生效;
    • 设置 padding 和 margin 将会生效;
    2.10.2 inline
    • 不会占满一行,宽度随着内容而变化;多个 inline 元素将按照从左到右的顺序在一行里排列显示,如果一行显示不下,则自动换行;
    • 设置 width/height 将不会生效;
    • 设置竖直方向上的 padding 和 margin 将不会生效;
    1.10.3 inline-block
    • 是行内块元素,不单独占满一行,可以看成是能够在一行里进行左右排列的块元素;
    • 设置 width/height 将会生效;
    • 设置 padding 和 margin 将会生效;

    2.10.2 inner display type

    对内方面,其实就是把元素当成了容器,里面包裹着文本或者其他子元素。container box 的类型依据 display 的值不同,分为 4 种:

    • block container:建立 BFC 或者 IFC;
    • flex container:建立 FFC;
    • grid container:建立 GFC;
    • ruby container:接触不多

    三、值和单位

    CSS 的声明是由属性和值组成的,而值的类型有许多种:

    • 数值:长度值 ,用于指定例如元素 width、border-width、font-size 等属性的值;
    • 百分比:可以用于指定尺寸或长度,例如取决于父容器的 width、height 或默认的 font-size;
    • 颜色:用于指定 background-color、color 等;
    • 坐标位置:以屏幕的左上角为坐标原点定位元素的位置,比如常见的 background-position、top、right、bottom 和 left 等属性;
    • 函数:用于指定资源路径或背景图片的渐变,比如 url()、linear-gradient() 等;

    3.1 px

    屏幕分辨率是指在屏幕的横纵方向上的像素点数量,比如分辨率 1920×1080 意味着水平方向含有 1920 个像素数,垂直方向含有 1080 个像素数。

    img

    而 px 表示的是 CSS 中的像素,在 CSS 中它是绝对的长度单位,也是最基础的单位,其他长度单位会自动被浏览器换算成 px。但是对于设备而言,它其实又是相对的长度单位,比如宽高都为 2px,在正常的屏幕下,其实就是 4 个像素点,而在设备像素比(devicePixelRatio) 为 2 的 Retina 屏幕下,它就有 16 个像素点。所以屏幕尺寸一致的情况下,屏幕分辨率越高,显示效果就越细腻。

    讲到这里,还有一些相关的概念需要理清下:

    3.1.1 设备像素

    (Device pixels)设备屏幕的物理像素,表示的是屏幕的横纵有多少像素点;和屏幕分辨率是差不多的意思。

    设备像素比(DPR)

    设备像素比表示 1 个 CSS 像素等于几个物理像素。

    计算公式:DPR = 物理像素数 / 逻辑像素数;

    在浏览器中可以通过 window.devicePixelRatio 来获取当前屏幕的 DPR。

    像素密度(DPI/PPI)

    像素密度也叫显示密度或者屏幕密度,缩写为 DPI(Dots Per Inch) 或者 PPI(Pixel Per Inch)。从技术角度说,PPI 只存在于计算机显示领域,而 DPI 只出现于打印或印刷领域。

    计算公式:像素密度 = 屏幕对角线的像素尺寸 / 物理尺寸

    比如,对于分辨率为 750 * 1334 的 iPhone 6 来说,它的像素密度为:

    Math.sqrt(750 * 750 + 1334 * 1334) / 4.7 = 326ppi
    
    设备独立像素(DIP)

    DIP 是特别针对 Android设备而衍生出来的,原因是安卓屏幕的尺寸繁多,因此为了显示能尽量和设备无关,而提出的这个概念。它是基于屏幕密度而计算的,认为当屏幕密度是 160 的时候,px = DIP。

    计算公式:dip = px * 160 / dpi

    3.2 em

    em 是 CSS 中的相对长度单位中的一个。居然是相对的,那它到底是相对的谁呢?它有 2 层意思:

    • 在 font-size 中使用是相对于父元素的 font-size 大小,比如父元素 font-size: 16px,当给子元素指定 font-size: 2em 的时候,经过计算后它的字体大小会是 32px;
    • 在其他属性中使用是相对于自身的字体大小,如 width/height/padding/margin 等;

    我们都知道每个浏览器都会给 HTML 根元素 html 设置一个默认的 font-size,而这个值通常是 16px。这也就是为什么 1em = 16px 的原因所在了。

    em 在计算的时候是会层层计算的,比如:

    <div>
        <p></p>
    </div>
    
    div { font-size: 2em; }
    p { font-size: 2em; }
    

    对于如上一个结构的 HTML,由于根元素 html 的字体大小是 16px,所以 p 标签最终计算出来后的字体大小会是 16 * 2 * 2 = 64px

    3.3 rem

    rem(root em) 和 em 一样,也是一个相对长度单位,不过 rem 相对的是 HTML 的根元素 html。

    rem 由于是基于 html 的 font-size 来计算,所以通常用于自适应网站或者 H5 中。

    3.4 vw/vh

    vw 和 vh 分别是相对于屏幕视口宽度和高度而言的长度单位:

    • 1vw = 视口宽度均分成 100 份中 1 份的长度;
    • 1vh = 视口高度均分成 100 份中 1 份的长度;

    在 JS 中 100vw = window.innerWidth,100vh = window.innerHeight。

    img

    vw/vh 的出现使得多了一种写自适应布局的方案,开发者不再局限于 rem 了。

    相对视口的单位,除了 vw/vh 外,还有 vmin 和 vmax:

    • vmin:取 vw 和 vh 中值较小的;
    • vmax:取 vw 和 vh 中值较大的;

    四、颜色

    根据 CSS 颜色草案 中提到的颜色值类型,大概可以把它们分为这几类:

    • 颜色关键字
    • transparent 关键字
    • currentColor 关键字
    • RGB 颜色
    • HSL 颜色

    4.1 颜色关键字

    颜色关键字(color keywords)是不区分大小写的标识符,它表示一个具体的颜色,比如 white(白),黑(black)等;

    可接受的关键字列表在CSS的演变过程中发生了改变:

    • CSS 标准 1 只接受 16 个基本颜色,称为 VGA 颜色,因为它们来源于 VGA 显卡所显示的颜色集合而被称为 VGA colors (视频图形阵列色彩)。
    • CSS 标准 2 增加了 orange 关键字。
    • 从一开始,浏览器接受其它的颜色,由于一些早期浏览器是 X11 应用程序,这些颜色大多数是 X11 命名的颜色列表,虽然有一点不同。SVG 1.0 是首个正式定义这些关键字的标准;CSS 色彩标准 3 也正式定义了这些关键字。它们经常被称作扩展的颜色关键字, X11 颜色或 SVG 颜色 。
    • CSS 颜色标准 4 添加可 rebeccapurple 关键字来纪念 web 先锋 Eric Meyer。

    4.1.1 transparent 关键字

    transparent 关键字表示一个完全透明的颜色,即该颜色看上去将是背景色。从技术上说,它是带有 alpha 通道为最小值的黑色,是 rgba(0,0,0,0) 的简写。

    4.1.2 currentColor 关键字

    currentColor 会取当前元素继承父级元素的文本颜色值或声明的文本颜色值,即 computed 后的 color 值。

    4.1.3 RGB[A] 颜色

    RGB[A] 颜色是由 R(red)-G(green)-B(blue)-A(alpha) 组成的色彩空间。

    4.1.4 HSL[A] 颜色

    HSL[A] 颜色是由色相(hue)-饱和度(saturation)-亮度(lightness)-不透明度组成的颜色体系。

    写法上可以参考 RGB 的写法,只是参数的值不一样。

    五、媒体查询

    媒体查询是指针对不同的设备、特定的设备特征或者参数进行定制化的修改网站的样式。

    你可以通过给 <link> 加上 media 属性来指定该样式文件只能对什么设备生效,不指定的话默认是 all,即对所有设备都生效:

    <link rel="stylesheet" src="styles.css" media="screen" />
    <link rel="stylesheet" src="styles.css" media="print" />
    
    • all:适用于所有设备;
    • print:适用于在打印预览模式下在屏幕上查看的分页材料和文档;
    • screen:主要用于屏幕;
    • speech:主要用于语音合成器。

    需要注意的是:通过 media 指定的 资源尽管不匹配它的设备类型,但是浏览器依然会加载它。

    除了通过 <link> 让指定设备生效外,还可以通过 @media 让 CSS 规则在特定的条件下才能生效。响应式页面就是使用了 @media 才让一个页面能够同时适配 PC、Pad 和手机端。

    @media (min-width: 1000px) {}
    

    媒体查询支持逻辑操作符:

    • and:查询条件都满足的时候才生效;
    • not:查询条件取反;
    • only:整个查询匹配的时候才生效,常用语兼容旧浏览器,使用时候必须指定媒体类型;
    • 逗号或者 or:查询条件满足一项即可匹配;

    媒体查询还支持众多的媒体特性,使得它可以写出很复杂的查询条件:

    /* 用户设备的最小高度为680px或为纵向模式的屏幕设备 */
    @media (min-height: 680px), screen and (orientation: portrait) {}
    
    展开全文
  • Web通用型漏洞简介

    万次阅读 2019-01-20 22:21:39
    本篇文章主要简单介绍一下(我能想到的)Web通用型漏洞(以OWASP体系为主,非组件引起的,可能出现在任何语言任何环境中的web漏洞)的原理以及简单的攻击者利用方式。注:看本篇文章不会学到任何新技术,但如果本篇...
  • Web前端CSS框架—Bootstrap学习笔记

    千次阅读 2015-01-30 14:31:04
     Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站。其中包括以下组件: 下拉菜单、按钮组、按钮下拉菜单、导航、导航条、面包屑、分页、排版、缩略图
  • CSS Code复制内容到剪贴板 p{font-family:Times New Roman, Times, serif}  下面是一些常用的字体组合,通用的字体系列。 Serif 字体 字体 文本示例 Georgia, serif This is a heading This is a ...
  • 球状mvc 用于创建Web应用程序的通用模板,该应用程序使用球形作为后端,并实现为CSS(包装在Web组件中)
  • Snack是用于Web的最小CSS框架。 但是此框架的主要目的不是缩小规模。 出于更多原因,我希望该框架可以简化我们使用的类名,并提供一个更通用的组件。 总览 执照 麻省理工学院执照 以上版权声明和本许可声明应包含在...
  • Java web前端——CSS使用基础

    千次阅读 多人点赞 2018-09-02 18:03:27
    CSS :层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种...
  • CSS通用样式基本文档

    2018-10-25 13:38:00
    对新手很有用,特别是前端学习者,可以更规范书写格式
  • CSS Web安全字体组合

    2021-01-19 21:18:51
    CSS Web安全字体组合 常用的字体组合 font-family属性是多种字体的名称,作为一个”应变”制度,以确保浏览器/操作系统之间的最大兼容性。如果浏览器不支持的第一个字体,它尝试下一个的字体。 你想要的字体类型...
  • 条顿(Teutonic)CSS是一个现代的网页设计系统,用于开发可响应的,可访问的网站和Web应用程序。 它基于CSS变量,可轻松自定义和扩展。 它具有CSS Grid之类的出色技术。 源是SCSS模块的集合,但是您可以使用缩略...
  • 现在Web前端使用了越来越多的JS或CSS,如jQuery, Backbone.js 和Bootstrap等等。 一般的做法是将这些Web资源拷贝到Java的目录下,通过手工进行管理,这种通方式容易导致文件混乱、版本不一致等问题。 WebJars是将...
  • WEB前端-CSS-选择器&常用样式/属性

    千次阅读 2016-08-16 21:48:34
    CSS(Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言)或者XML(标准通用标记语言的一个子集)等文件样式的计算机语言。 关于更详细的CSS介绍可参考此连接。本篇只记录最常用的几点内容。存在形势...
  • Web前端:CSS最强总结 附详细代码

    千次阅读 多人点赞 2021-03-28 23:34:59
    层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
  • css编写 适合任何web编程的任何编程语言,直接复制即可实现xp下的效果,全局使用,是web编程的css样式良好选择,图片 css javascript脚本齐全。
  • 供广大web工作者参考并实施,对维护和项目扩展升级都能省时省力。 转载请注明出处;JS前端实用开发QQ群 :147250970 欢迎加入~! CSS编码规范 1 前言 2 代码风格  2.1 文件  2.2 缩进  2.3 空格
  • 本文档是《使用HTML和CSS开发WEB网站》一书所整理的一份文档,涵盖书本上基本知识要点,及通用、常用知识点总结、归纳于一体,是学习WEB网站开发的好助手!
  • Web前端之CSS层叠样式表&相关案例

    千次阅读 2020-02-24 23:22:47
    CSS:层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。 CSS不仅可以静态地修饰网页,还可以配合各种...
  • 通用/同构Web应用程序示例。 总览 此应用程序旨在说明客户端和服务器端渲染。 包括以下技术: React React路由器4 Redux CSS模块(使用Sass) 表达 Webpack 2 巴别塔 ESLint app目录包含Express配置和路由,...
  • 项目通用的公共样式base.css

    千次阅读 2018-07-25 10:09:17
     * @名称:base.css  * @功能:1、重设浏览器默认样式  * 2、设置通用原子类  */ /* 防止用户自定义背景颜色对网页的影响,添加让用户可以自定义字体 */ *{  font-family: 'Microsoft YaHei'; } html {  ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 72,601
精华内容 29,040
关键字:

web通用css