css总结

207 阅读7分钟

css总结

消除button和input之间的间距

input是内联块状元素,内联元素是当做字体来处理的,字体之间是存在间隔的,所以内联元素之间也会有间隔
解决办法:
(1)在父级元素上设置font-size: 0;
(2)设置input为块元素,并且给一个左浮动 (推荐) (3)html中去掉input,button标签之间的空格 (不推荐)

1. font-variant:

设置西文文本的小型大写字母。
 取值:normal,正常。
      small-caps,小型大写字母。只对小写字母生效,将小写字母转换为比本身就是大写 字母略小的大写字母。

2. background-attachment:附件。

 设置背景图片是否随着页面滚动条的滚动而滚动。
 取值:scroll,默认值,背景图片随着浏览器页面的滚动而滚动。
           fixed,背景图片不随浏览器页面的滚动而滚动。      

3. list-style-image:设置列表项左侧的图片

 list-style-position:设置列表项的位置。             

4. 图片的容器高度为auto时,图片底部产生一个默认约3px间距问题

1)当图片的容器高度为auto时,会在图片底部产生一个默认约3px的间距。
      (2)底部3px是如何产生的?
              由于图片作为内联元素,与周围元素的垂直对齐方式默认为“基线对齐”。
              vertical-align:设置内联元素与周围元素的垂直对齐方式,该属性的默认值为baseline(基线)。
      (3)底部产生的空白距离与容器的字号大小设置有关。
      (4)如何解决图片底部的3px问题?
              A .设置容器的字号为0.box{ font-size:0; }
              B .设置容器的行高为0,表示行高是字号的0倍。
                  .box{ line-height:0; }
              C .设置图片的垂直对齐方式不是“基线对齐”。
                  .box img{ vertical-align:top; }
              D .设置图片为块级元素.  
                  .box img{ display:block; }

5.z-index

要在非流式布局下使用(fixed/absolute/relative定位),取值越大,元素越靠外

6.模态窗口

遮罩层的样式布局:
      
      (1)遮罩层占据了页面的整宽和整高,所以宽度和高度均为100%。  2)高度为100%,浏览器是无法识别的。
              解决方案:将遮罩层设置为非流式布局(一般为固定定位,即使有滚动条也能全覆盖)。  

7.滑动门 onmouseover=""

当鼠标经过事件发生时

为每一个元素设置一个id,可以使用下列句式改变指定id的 元素的CSS样式。 (1)设置指定id的元素的样式:id.style.CSS属性名="CSS属性值"; (2)设置自己的样式:this.style.CSS属性名="CSS属性值"; CSS属性名必须使用**驼峰式命名**:去掉CSS属性名的短横线,并将短横线后的单词首字母大写;**外面双引,里面单引**

8. 鼠标属性

      取值:default,鼠标外观为默认外观。
                none,鼠标外观不可见。
                text,鼠标外观为文本选中模式。
                vertical-text,鼠标外观为垂直方向的文本选中模式。
                pointer,鼠标外观为手型。
                move,鼠标外观为可移动模式。
                wait,鼠标外观为等待模式。
                crosshair,鼠标外观为十字准星。

9.pointer-events:设置元素是否能够响应鼠标事件

10.align-self

可以独立设置一个弹性项目相对于弹性容器的交叉轴对齐方式。
取值:flex-start、flex-end、center、baseline。

11.css三角形

.triangle{
        width:0; height:0;
        border-style:solid;
      }
      .triangleDown{
        border-bottom:none;
        border-left-color:transparent!important;
        border-right-color:transparent!important;
      }

12.transition

设置变形过程中的动画过渡效果。

1transition-property:设置都有哪些CSS属性参与过渡效果的变化。all,默认值,表示所有的CSS属性都参与过渡效果的变化。  
 (2)transition-duration:设置过渡效果的变化时长。不具备默认值,所以在使用时必须被指定。  
 (3)transition-delay:设置过渡效果的延迟时长。  
 (4)transition-timing-function:设置过渡效果的缓动功能。
 

13.关键帧动画:

 @keyframes 动画名称{
                  from{起始状态的CSS代码}            // 0%{起始状态的CSS代码}
                  to{终止状态的CSS代码}                // 100%{终止状态的CSS代码}
              }

              例:@keyframes ballMove{
                         from{margin-left:0;}
                         to{margin-left:600px;}
                     }
animation属性的派生子属性:
    
      (1animation-name2animation-duration3animation-timing-function:设置关键帧动画的缓动效果。
              取值:ease(默认值)、linear(匀速变化)、ease-in(越来越快)、
                        ease-out(越来越慢)、ease-in-out(慢-快-慢)。
              开发者工具 | 右上角三个点 | More tools(更多工具)|Animations,打开动画面板。

      (4animation-delay:设置关键帧动画的延迟效果。 

      (5animation-iteration-count:设置关键帧动画的重复播放次数。
              取值:1(默认值,表示只播放一次)。
                       表示播放次数的整数。
                       infinite(表示无限循环播放)
  
      (6animation-direction:设置关键帧动画循环播放时的播放方向。
              取值:normal(默认值,循环播放每次都从起始状态播放)。
                        reverse(反向,循环播放每次都从终止状态播放)。
                        alternate(往复动画,循环播放从起始状态开始往复播放)。
                        alternate-reverse(反向往复动画,循环播放从终止状态往复播放)。

      (7animation-fill-mode:设置动画的播放状态。
              动画的状态:起始状态(0%)、过渡状态、终止状态(100%)。
              取值:none(默认值,动画结束时恢复为没有动画的状态,没有动画的状态不是动画的第一帧状态)。
                        forwards(动画结束时停留在最后一帧的状态,最后一帧的状态是100%的状态)。
                        backwards(动画开始时停留在第一帧的状态,即0%的状态,而不是没有动画的状态)。
                        both(结合了forwards和backwards的取值)

      (8animation-play-state:设置动画处于播放还是暂停状态。
              取值:running(默认值,动画处于播放状态)。
                        paused(动画处于暂停状态)。
                        
     animation属性的取值顺序:
     animation:name duration timing-function delay iteration-count direction fill-mode play-state;  
     

三种元素模式

常见的行内元素有<a><strong><b><em><i><del><s><ins><u><span>等,其中<span>标签最典型的行内元素。有的地方也成内联元素
常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>等,其中<div>标签是最典型的块元素。
在行内元素中有几个特殊的标签——<img />、<input />、<td>,可以对它们设置宽高和对齐属性,有些资料可能会称它们为行内块元素。
元素模式元素排列设置样式默认宽度包含
块级元素一行只能放一个块级元素可以设置宽度高度容器的100%容器级可以包含任何标签
行内元素一行可以放多个行内元素不可以直接设置宽度高度它本身内容的宽度容纳文本或则其他行内元素
行内块元素一行放多个行内块元素可以设置宽度和高度它本身内容的宽度

权重计算公式

标签选择器计算权重公式
继承或者 *0,0,0,0
每个元素(标签选择器)0,0,0,1
每个类,伪类0,0,1,0
每个ID0,1,0,0
每个行内样式 style=""1,0,0,0
每个!important 重要的∞ 无穷大
  • 值从左到右,左面的最大,一级大于一级,数位之间没有进 制,级别之间不可超越。

css误区

1. a不能和img放一起 都是内联元素,会在一行显示 把img用div包裹
2. body中的背景图片为了在放大缩小浏览器时始终居中,可设置background position :top (center可省略)
3.vertical-ali设置内敛元素与周围元素垂直方向对齐方式  设置在img上,但并不能完美居中,可用弹性布局解决
4.文字与左边框距离可以测量像素用首行缩紧  空两行用2em
5.

图片1.png