zoukankan      html  css  js  c++  java
  • CSS 样式清单整理(二)

     

    16、元素占满整个屏幕

    heigth如果使用100%,会根据父级的高度来决定,所以使用100vh单位。

    .dom{
      width:100%;
      height:100vh;
    }

    17、CSS实现文本两端对齐

    .wrap {
        text-align: justify;
        text-justify: distribute-all-lines;  //ie6-8
        text-align-last: justify;  //一个块或行的最后一行对齐方式
        -moz-text-align-last: justify;
        -webkit-text-align-last: justify;
    }

    18、实现文字竖向排版

    // 单列展示时
    .wrap {
        width: 25px;
        line-height: 18px;
        height: auto;
        font-size: 12px;
        padding: 8px 5px;
        word-wrap: break-word;/*英文的时候需要加上这句,自动换行*/ 
    }
    // 多列展示时
    .wrap {
        height: 210px;
        line-height: 30px;
        text-align: justify;
        writing-mode: vertical-lr;  //从左向右    
        writing-mode: tb-lr;        //IE从左向右
        //writing-mode: vertical-rl;  -- 从右向左
        //writing-mode: tb-rl;        -- 从右向左
    }

    19、使元素鼠标事件失效

    .wrap {
      // 如果按tab能选中该元素,如button,然后按回车还是能执行对应的事件,如click。
     pointer-events: none;
     cursor: default;
    }

    20、禁止用户选择

    .wrap {
      -webkit-touch-callout: none;
      -webkit-user-select: none;
      -khtml-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
    }

    21、使用硬件加速

    在浏览器中用css开启硬件加速,使GPU (Graphics Processing Unit) 发挥功能,从而提升性能。硬件加速在移动端尤其有用,因为它可以有效的减少资源的利用。
    目前主流浏览器会检测到页面中某个DOM元素应用了某些CSS规则时就会开启,最显著的特征的元素的3D变换。如果不使用3D变形,我们可以通过下面方式来开启:

    .wrap {
        transform: translateZ(0);
    }

    22、页面动画出现闪烁问题

    在 Chrome and Safari中,当我们使用CSS transforms 或者 animations时可能会有页面闪烁的效果,下面的代码可以修复此情况:

    .cube {
       -webkit-backface-visibility: hidden;
       backface-visibility: hidden;
     
       -webkit-perspective: 1000;
       perspective: 1000;
       /* Other transform properties here */
    }

    在webkit内核的浏览器中,另一个行之有效的方法是

    .cube {
       -webkit-transform: translate3d(0, 0, 0);
       transform: translate3d(0, 0, 0);
      /* Other transform properties here */
    }

    23、字母大小写转换

    p {text-transform: uppercase}  // 将所有字母变成大写字母
    p {text-transform: lowercase}  // 将所有字母变成小写字母
    p {text-transform: capitalize} // 首字母大写
    p {font-variant: small-caps}   // 将字体变成小型的大写字母

    24、将一个容器设为透明

    .wrap { 
      filter:alpha(opacity=50); 
      -moz-opacity:0.5; 
      -khtml-opacity: 0.5; 
      opacity: 0.5; 
    }

    25、消除transition闪屏

    .wrap {
        -webkit-transform-style: preserve-3d;
        -webkit-backface-visibility: hidden;
        -webkit-perspective: 1000;
    }

    26、识别字符串里的 ' ' 并换行

    一般在富文本中返回换行符不是<br>的标签,而且 。不使用正则转换的情况下,可通过下面样式实现换行。

    body {
       white-space: pre-line;
    }

    27、移除a标签被点链接的边框

    a {
      outline: none;//或者outline: 0
      text-decoration:none; //取消默认下划线
    }

    28、CSS显示链接之后的URL

    <a href="//www.webqdkf.com">有课前端网</a>
    <style>
    a:after {content: " (" attr(href) ")";}
    </style>

    29、select内容居中显示、下拉内容右对齐

    select{
        text-align: center;
        text-align-last: center;
    }
    select option {
        direction: rtl;
    }

    30、修改input输入框中光标的颜色不改变字体的颜色

    input{
        color:  #fff;
        caret-color: red;
    }

    31、子元素固定宽度 父元素宽度被撑开

    // 父元素下的子元素是行内元素
    .wrap {
      white-space: nowrap;
    }
    // 若父元素下的子元素是块级元素
    .wrap {
      white-space: nowrap;  // 子元素不被换行
      display: inline-block;
    }

    32、让div里的图片和文字同时上下居中

    这里不使用flex布局的情况。通过vertival-align

    .wrap {
      height: 100,
      line-height: 100
    }
    img {
      vertival-align:middle
    }
    // vertical-align css的属性vertical-align用来指定行内元素(inline)或表格单元格(table-cell)元素的垂直对齐方式。只对行内元素、表格单元格元素生效,不能用它垂直对齐块级元素
    // vertical-align:baseline/top/middle/bottom/sub/text-top;

    33、实现宽高等比例自适应矩形

    .scale {
      width: 100%;
      padding-bottom: 56.25%;
      height: 0;
      position: relative; 
    }
    .item {
      position: absolute; 
      width: 100%;
      height: 100%;
      background-color: 499e56;
    }    
    <div class="scale">
         <div class="item">
             这里是所有子元素的容器
         </div>
     </div>

    34、transfrom的rotate属性在span标签下失效

    span {
      display: inline-block
    }

    35、CSS加载动画

    主要是通过css旋转动画的实现:

    .dom{
      -webkit-animation:circle 1s infinite linear;
    }
    @keyframes circle{
      0%{ transform: rotate(0deg); }
      100%{ transform: rotate(360deg); }
    }

    36、文字渐变效果实现

    <div class="text_signature " >fly63前端网,一个免费学习前端知识的网站</div>
    <style>
    .text_signature {
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-image: linear-gradient(to right, #ec2239, #40a4e2,#ea96f5);
        width: 320px;
    }
    </style>

    37、好看的边框阴影

    <div class="text_shadow"></div>
    <style> 
    .text_shadow{
      width:500px;
      height:100px;
      box-shadow: 0px 0px 13px 1px rgba(51, 51, 51, 0.1);
    }
    </style>

    38、好看的背景渐变

    <div class="text_gradient"></div>
    <style> 
    .text_gradient{
      width:500px;
      height:100px;
      background: linear-gradient(25deg, rgb(79, 107, 208), rgb(98, 141, 185), rgb(102, 175, 161), rgb(92, 210, 133)) rgb(182, 228, 253);
    }
    </style>

    39、实现立体字的效果

    <div class="text_solid">世界那么大我想去看看</div>
    <style> 
    .text_solid{
        font-size: 32px;
        text-align: center;
        font-weight: bold;
        line-height:100px;
        text-transform:uppercase;
        position: relative;
      background-color: #333;
        color:#fff;
        text-shadow:
        0px 1px 0px #c0c0c0,
        0px 2px 0px #b0b0b0,
        0px 3px 0px #a0a0a0,
        0px 4px 0px #909090,
        0px 5px 10px rgba(0, 0, 0, 0.6);
    }
    </style>

    40、全屏背景图片的实现

    .swper{
      background-image: url(./img/bg.jpg);
      width:100%;
      height:100%;//父级高不为100%请使用100vh
      zoom: 1;
      background-color: #fff;
      background-repeat: no-repeat;
      background-size: cover;
      -webkit-background-size: cover;
      -o-background-size: cover;
      background-position: center 0;
    }

    41、实现文字描边的2种方法

    方式一:

    .stroke {
          -webkit-text-stroke: 1px greenyellow;
         text-stroke: 1px greenyellow;
    }

    方式二:

    .stroke {
      text-shadow:#000 1px 0 0,#000 0 1px 0,#000 -1px 0 0,#000 0 -1px 0;
      -webkit-text-shadow:#000 1px 0 0,#000 0 1px 0,#000 -1px 0 0,#000 0 -1px 0;
      -moz-text-shadow:#000 1px 0 0,#000 0 1px 0,#000 -1px 0 0,#000 0 -1px 0;
      *filter: Glow(color=#000, strength=1);
    }

    42、元素透明度的实现

    .dom{
      opacity:0.4;
      filter:alpha(opacity=40); /* IE8 及其更早版本 */
    }

    43、解决1px边框变粗问题

    .dom{
      height: 1px;
      background: #dbdbdb;
      transform:scaleY(0.5);
    }

    Ps:出现1px变粗的原因,比如在2倍屏时1px的像素实际对应2个物理像素。

    43、解决1px边框变粗问题

    .dom{
      height: 1px;
      background: #dbdbdb;
      transform:scaleY(0.5);
    }

    Ps:出现1px变粗的原因,比如在2倍屏时1px的像素实际对应2个物理像素。

    44、CSS不同单位的运算

    css自己也能够进行简单的运算,主要是用到了calc这个函数。实现不同单位的加减运算:

    .div{ 
       width: calc(100% - 50px); 
    }

    45、CSS实现文字模糊效果

    .vague_text{
      color: transparent; 
      text-shadow: #111 0 0 5px;
    }

    46、通过滤镜让图标变灰

    一张彩色的图片就能实现鼠标移入变彩色,移出变灰的效果

    <a href='' class='icon'><img src='01.jpg' /></a>
    <style>
    .icon{
      -webkit-filter: grayscale(100%);
      -moz-filter: grayscale(100%);
      -ms-filter: grayscale(100%);
      -o-filter: grayscale(100%);   
      filter: grayscale(100%);
      filter: gray;
    }
    .icon:hover{
      filter: none;
      -webkit-filter: grayscale(0%);
    }
    </style>

    47、图片自适应object-fit

    当图片比例不固定时,想要让图片自适应,一般都会用background-size:cover/contain,但是这个只适用于背景图。css3中可使用object-fit属性来解决图片被拉伸或是被缩放的问题。使用的提前条件:图片的父级容器要有宽高。

    img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    fill: 默认值。内容拉伸填满整个content box, 不保证保持原有的比例。contain: 保持原有尺寸比例。长度和高度中长的那条边跟容器大小一致,短的那条等比缩放,可能会有留白。cover: 保持原有尺寸比例。宽度和高度中短的那条边跟容器大小一致,长的那条等比缩放。可能会有部分区域不可见。(常用)none: 保持原有尺寸比例。同时保持替换内容原始尺寸大小。scale-down:保持原有尺寸比例,如果容器尺寸大于图片内容尺寸,保持图片的原有尺寸,不会放大失真;容器尺寸小于图片内容尺寸,用法跟contain一样。

    48、行内标签元素出现间隙问题

    方式一:父级font-size设置为0

    .father{
     font-size:0;
    }

    方式二:父元素上设置word-spacing的值为合适的负值

    .father{
       word-spacing:-2px
    }

    其它方案:1将行内元素写为1行(影响阅读);2使用浮动样式(会影响布局)。

    49、解决vertical-align属性不生效

    在使用vertical-align:middle实现垂直居中的时候,经常会发现不生效的情况。这里需要注意它生效需要满足的条件:

    **作用环境:**父元素设置line-height。需要和height一致。或者将display属性设置为table-cell,将块元素转化为单元格。
    **作用对象:**子元素中的inline-block和inline元素。

    <div class="box">
      <img src=".	est.jpg"/>
      <span>内部文字</span>
    </div>
    <style>
    .box{
      width:300px; 
      line-height: 300px;
      font-size: 16px; 
    }
    .box img{
      width: 30px; 
      height:30px; 
      vertical-align:middle
    }
    .box span{
      vertical-align:middle
    }
    </style>

    PS:vertical-align不可继承,必须对子元素单独设置。同时需要注意的是line-height的高度基于font-size(即字体的高度),如果文字要转行会出现异常哦。

    本文来自博客园,作者:喆星高照,转载请注明原文链接:https://www.cnblogs.com/houxianzhou/p/15045210.html

  • 相关阅读:
    PHP 大小写转换、首字母大写、每个单词首字母大写转换相关函数
    【论文学习4】BiSample: Bidirectional Sampling for Handling Missing Data with Local Differential Privacy
    【论文学习3】Local Differential Privacy for Deep Learning
    【论文学习2】 Differential Privacy Reinforcement Learning
    深度学习中的优化算法
    Spatial crowdsourcing
    “pip install tensorflow ”出现错误
    python或pip'不是内部或外部命令”
    pip install torch出现错误
    打不开gitHub的解决方法
  • 原文地址:https://www.cnblogs.com/houxianzhou/p/15045210.html
Copyright © 2011-2022 走看看