zoukankan      html  css  js  c++  java
  • 日常使用之css篇

       日常工作或学习中常逢关于css的问题,之前一直零零散散的记在云笔记中,所以至如今已经杂乱无章,是时候好好理理了。

    (1)css画小图标(箭头)使用css border的属性,可以实现箭头的效果。当我们为一个容器只设置border,高宽设置为0时,如下.arrow{ border-color: red green blue pink;border-style: solid; border- 20px; height: 0; 0;}

    如果想得到一个箭头形状的图案,只需要将border的三个边的颜色改成透明,如下:

    .arrow{ border-color: red transparent transparent;border-style: solid; border- 20px; height: 0; 0;}

    如此可以设置四个不同方位的箭头

    (2)css固定底部

    当页面内容不充实时,底部会上移,使用min-height设置最小高度,margin-bottom:-50px使底部上移

        <style type="text/css">

        html,body{height: 100%;}

        .main{min-height: 100%;margin-bottom: -50px}

        .content{height:50px;}  //使footer不会覆盖main里的内容

        footer{height: 50px;background: blue;}

        </style>

     <div class="main">

      中间内容

      <div class="content">dddd</div>

     </div>

     <footer>

      底部底部底部底部

     </footer>

    (3)单行文字的高度问题(不同游览器的差异)

    例:

    <style>

    span{font-size:12px; font-family:"微软雅黑"; color:#666;}

    </style>

    <span>热卖品牌</span>

    google:

     
    ie8:
    ie10:

    解决方法:使用行高line-height控制

    注意:在各浏览器下对于line-height的解决也是有细微的区别的,上下会有1px的差别,如果行高是偶数的话,大部分浏览器解释还是比较正常,如果是奇 数的话,有些浏览器会上比下多1px,而另一些浏览器会下比上多1px,对于有些要求比较严格的网站,建议行高设计时用偶数

    (4)display:none与visibility:hidden;

        visibility:hidden规定元素不可见,即使不可见的元素也会占据页面上的空间

            display:none不显示,也不占据空间。

    (5)、a标签下使用img有留白

    原因:a元素下有一个匿名文本,这个文本外有一个匿名行级盒子,它有的默认vertical-align是baseline的,而且往往因为上文line-height的影响,使它有个line-height,从而使其有了高度,因为baseline对齐的原因,这个盒子就会下沉,往下撑开一些距离。

    扩展:baseline是基于基线对齐的,那基线是怎么回事?

              基线并不是汉字文字的下端沿,而是英文字母"x"的下端沿。

    方案一:消除匿名盒子的高度,也就是给a设置line-height:0;或font-size:0;

    方案二:给两者vertical-align:top;让其top对齐,而不是baseline对齐。

    方案三:给img以设置display:block;

    (6)清除浮动

    .l-clear:after{display:block;clear:both;visibility:hidden;height:0;overflow:hidden;content:".";}

    (7)不定高宽元素水平垂直居中

    水平居中很好实现,直接vertical-align:center;而垂直居中有几种实现方式

    方案一:利用table的特性,使用display:table与display:table-cell,将元素做为块级表格来显示

    方案二:子元素绝对定位,距离顶部 50%,左边50%,然后使用css3 transform:translate(-50%; -50%)

    方案三:使用flex布局,使项目居中排列

    (8)css实现超出隐藏并且加省略

    hide{overflow:hidden;text-overflow:ellipsis(css3属性);white-space:nowrap;(强制不换行);20em;}

    (9)弹出框背景透明

    .outer{

    100%; height: 100%;position: fixed;z-index: 9;left: 0;bottom: 0;background: rgba(0,0,0,0.8)!important;background: #000;filter: alpha(opacity=80); /*ie6/7/8*/

    }

    (10)消除inline-block间的间隙

    inline-block包含html空白节点,当你设置的元素之间有换行,则页面上元素之间无法紧贴

    若设置不同的margin-top,padding-top,该行的高度由"最高"的元素撑开,其余元素相对于基线对齐。

    父元素设置font-size:0;inline-block的元素再设置font-size大小

    (11)css优先级

    一:权值

    元素选择器:1

    类选择器:10

    id选择器:100

    内联样式:1000

    css优先级按权值大小排列,权值越大,优先级越高。

    权值相等,则后面的样式设置要优于先出现的样式设置。

    例:

    <style>

    .content span{color:red;}   //10+1

    .content .cl{color:blue;}      //10+10

    .cl{color:black !important;}                   //10

    </style>

    <div class="content"><span class="cl">字体颜色</span></div>

    结果显示!important具有最高优先级。

    (12)css position未设置top、left的默认状态

    position:absolute 出现在正常的文档流中,但不占据文档的位置,会跟后面的内容重叠

    position:relative 出现在正常的文档流中,但占据文档的位置。

    position:static 默认的属性

    position:fixed 出现在正常的文档流中,不占据位置,会跟后面的正常的文档流内容重叠

     *******************************************1************************************************

  • 相关阅读:
    HDU 3565 Bi-peak Number(数位DP)题解
    FJNU Fang G and his Friends(状压DP)题解
    newcoder 小A的柱状图(单调栈)题解
    CodeForces 518E Arthur and Questions(贪心 + 思维)题解
    装饰器来激活生成器
    迭代器(Iterator)和生成器(generator)浅析
    简单的获取网页样式元素(装饰器实现)
    多层装饰器的调用及执行顺序
    三角形的输出
    简单的用户登录(文件处理)
  • 原文地址:https://www.cnblogs.com/weiyemo/p/6670372.html
Copyright © 2011-2022 走看看