css 整理

link 与 import 引入有什么区别

  • @import的引入方式在一些老版本的浏览器中可能不支持。
  • link是浏览器在加载html文档时就开始加载的,而@import是在浏览器对html文件加载完成后才对css文件进行加载的;
  • link引入支持除了css格式的其他文件的引入,而@import只支持css格式的文件的加载
  • link引入的css文件样式,将来能够支持JS的DOM操作,而@import引入方式不支持相关的DOM操作,通常使用link的引入方式就能够解决所有的css引入问题

css整理

css的用法

内联样式:在HTML元素中使用"style" 属性
内部样式表 -在HTML文档头部 <head> 区域使用<style> 元素 来包含CSS
外部引用 - 使用外部 CSS 文件

优先级:递增顺序

通用选择器(*)
元素(类型)选择器
类选择器
属性选择器
伪类
ID 选择器
内联样式
!important 优先

注:内联样式>内联样式表>外部引用,
各个样式中,如果出现同样的属性设置,靠后替换靠前的

css 类型
1,背景

background-color
background-image
background-repeat
background-attachment
background-position

渐变:background-image: linear-gradient(direction, color-stop1, color-stop2, ...);
        background-image: linear-gradient(#e66465, #9198e5);从上到下渐变
        background-image: linear-gradient(to right, red , yellow);从右到左渐变
        background-image: linear-gradient(to bottom right, red, yellow)
        从左上角到右下角的线性渐变
        background-image: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1));
        从左到右的线性渐变,带有透明度
        background-image: radial-gradient(red, yellow, green);圆形渐变

2,文本样式

text-align:center; 中间对齐
text-align:right; 右对齐
text-align:left; 左对齐
text-transform:uppercase; 输出的英文 大写
text-transform:lowercase; 输出的英文 小写
text-transform:capitalize; 输出的英文 首字母大写
text-indent:50px; 文本首行缩进50px
letter-spacing:2px;设置文本的字母间距
text-shadow:2px 2px #FF0000; 设置文本的阴影
vertical-align:text-top;设置元素的对齐方式,垂直靠上对齐

文本效果:
text-shadow: 5px 5px 5px #FF0000;   文本阴影
box-shadow
text-overflow:clip;// 修剪文本。
               ellipsis;//显示省略符号来代表被修剪的文本。
               string;//使用给定的字符串来代表被修剪的文本。
word-wrap : break-word;  //允许长单词换行到下一行
word-break : break-all; //在恰当的断字点进行换行
white-space: nowrap; //规定段落中的文本不进行换行

文本溢出,出现自动裁切:
{
    overflow: hidden;
    text-overflow:ellipsis;//裁切下去的部分,用...代表
    white-space: nowrap; //强制文字不换行
}

input::-webkit-input-placeholder {
padding-left:30px;

ul li input[type="button"]:hover{ 
    background: #d13a35;
    cursor: pointer; //手指按钮设置
}

3,a 链接:去掉a链接删除属性

a {text-decoration:none;}
a:link {color:#000000;} /* 未访问链接*/ 
a:visited {color:#00FF00;} /* 已访问链接 */ 
a:hover {color:#FF00FF;} /* 鼠标移动到链接上 */
a:active {color:#0000FF;} /* 鼠标点击时 */

4,盒子模型

content
padding
border :
    border-radius:
            border-top-left-radius:定义了左上角的弧度
            border-top-right-radius:定义了右上角的弧度
            border-bottom-right-radius:定义了右下角的弧度
            border-bottom-left-radius:定义了左下角的弧度
    box-shadow: 10px 10px 5px #888888;
    border-image
margin

5,边框样式

dotted:点线边框
dashed:虚线边框
solid:实线边框
double:两个边框

outline:轮廓(button/input:一边设置边框为 none)

6,隐藏元素:隐藏

display:none;// 元素不仅被隐藏了,还不会影响布局
visibility:hidden;//元素虽然被隐藏了,但仍然会影响布局

注:把块元素变为内联元素:display:block;

7,定位:

position:static; //没有定位,遵循正常的文档流对象
          fixed; // 元素的位置相对于浏览器窗口是固定位置
         relative; // 移动相对定位元素,但它原本所占的空间不会改变
         absolute; //相对于最近的已定位父元素,没有已定位的父元素,它的位置相<html>
         sticky; //基于用户的滚动位置来定位
z-index:;//定位时候,判断元素定位的堆叠顺序
cursor:pointer;//光标移到到指定的手型
display:inline;//把块元素变为行内元素
display:block;//把行内元素变为块元素

8,文本溢出:

overflow:auto 自动
              hidden  隐藏
              scroll 滚动条
overflow-x: hidden;x轴隐藏      
overflow-y: scroll;y轴出滚动条
float:left / right;浮动要清除浮动样式,否则会影响下面的布局
clear:both /left / right;清除两边浮动/左侧/右侧浮动

9,布局—水平 & 垂直

//水平居中:
margin:0 auto;

// flex 布局
display:flex;布局
justify-content: center;// 水平居中
align-items: center;;//垂直居中

// 用定位设置水平垂直居中
position:absolute;
top:0;
bottom:0;
right:0;
left:0;

10, CSS3 中包含了四种组合方式:

后代选择器(以空格分隔):div p
子元素选择器(以大于号分隔): div > p
相邻兄弟选择器(以加号分隔): div+p
普通兄弟选择器(以破折号分隔): div~p

11,css伪类

a:link {color:#FF0000;}  //未访问的链接 
a:visited {color:#00FF00;}  // 已访问的链接 
a:hover {color:#FF00FF;} //  鼠标划过链接 
a:active {color:#0000FF;}  // 已选中的链接 

伪类
a:first-child 匹配第一个a链接的元素
div > a : first-child 匹配div下面的第一个a链接
p:first-child i 匹配第一个p标签下面所有的 i
p:empty 选择所有没有子元素的p元素
input:checked 选择所有选中的表单元素
p:first-of-type 选择的每个 p 元素是其父元素的第一个 p 元素
p:last-child 选择所有p元素的最后一个子元素
p:last-of-type 选择每个p元素是其母元素的最后一个p元素
:not(p) 选择所有p以外的元素
p:nth-last-child(2) 选择所有p元素倒数的第二个子元素
p:nth-last-of-type(2) 选择所有p元素倒数的第二个为p的子元素
p:only-child选择所有仅有一个子元素的p元素
input:read-only选择只读属性的元素属性
p:first-letter 选择每个<p> 元素的第一个字母
:first-line选择每个<p> 元素的第一行
:before / :after ---伪元素可以在元素的内容之钱/后插入新内容。

12,Tooltip:提示工具

<div class="tooltip">鼠标移动到这
  <span class="tooltiptext">提示文本</span>
</div>

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    
    // 左右选择一个
    left: 100%; 提示工具右侧 
    right: 100%; 提示工具右侧 
    
    // 淡入淡出
    opacity: 0;
    transition: opacity 1s;
  }

.tooltip:hover .tooltiptext {//经过时候,显示出来
    visibility: visible;
    opacity: 1;//淡入淡出
}

13,@media 响应式

@media screen and (max-width: 600px){//当屏幕尺寸小于600px时,应用下面的CSS样式  
    .class {    background: #ccc;  }
}
@media (min-width: 768px){ //>=768的设备 
}

14,属性 选择器

//属性选择器
[title] { color:blue; }
<h1 title="Hello world">Hello world</h1>

属性和值选择器
[title=runoob] { border:5px solid green; }
<a title="runoob" href="//www.runoob.com/">runoob</a>

属性和值的选择器 - 多值
input[type="text"]{}
input[type="button"]

15,网页布局

display: table;
//table 中 td 下面的属性rowspan与colspan
//rowspan 属性规定单元格可横跨的行数
//colspan 属性规定单元格可横跨的列数。
display: flex;

16,动画 可以对元素进行移动、缩放、转动、拉长或拉伸。

2D转换
translate(dx, dy)  为画布的变换矩阵添加水平的和垂直的偏移
rotate( angle )  旋转的量,用弧度表示。正值表示顺时针方向旋转,负值表示逆时针方向旋转。
transform:scale()  放大/缩小
skew() 
    transform:skewX(<angle>);表示只在X轴(水平方向)倾斜。
    transform:skewY(<angle>);表示只在Y轴(垂直方向)倾斜。
matrix() ;六个参数,包含旋转,缩放,移动(平移)和倾斜功能。
    transform:matrix(0.866,0.5,-0.5,0.866,0,0);

3D 动画
@keyframes myfirst { 
    from {background: red;left:0px; top:0px;}
    to {background: yellow;left:100px; top:90px;} 
}

注://鼠标经过是时,放大
.solve__item {
  cursor: pointer;
  transition: all 0.4s ease-in-out;
}
.solve__item:hover {
  transform: scale(1.2);
}

17, @font-face 规则
注:引用"自己的"的字体是在 CSS3 @font-face 规则中定义的
18,Window.getComputedStyle();测试版本,获取测试段的 样式

window.getComputedStyle(
document.querySelector('.search-btn'),null).getPropertyValue("line-height"
)

19,鼠标经过时候,放大倍数

transition: property duration timing-function delay;
/*property:执行过渡的属性
duration:执行过渡的持续时间
timing-function:执行过渡的速率模式
delay:延时多久执行*/

.solve__item {
    cursor: pointer;
    transition: all 0.4s ease-in-out; 
  }
.solve__item:hover {
    transform: scale(1.2);//放大1.2倍
  }
  • ease-in-out--- 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))(相对于匀速,(开始和结束都慢)两头慢)
  • linear规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1));(匀速)
  • ease规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))(相对于匀速,中间快,两头慢)
  • ease-in规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))(相对于匀速,开始的时候慢,之后快)。
  • ease-out规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))(相对于匀速,开始时快,结束时候间慢,)。
  • ease-in-out规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))(相对于匀速,(开始和结束都慢)两头慢)。* cubic-bezier(n,n,n,n)在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值

20,页眉固定在头部,并且随着窗口左右大小做自适应调整

<a-layout-header  style="height:64px;">
  <app-layout-header style="padding: 0;width:100vw;position:fixed;left:0;top:0;"/>
</a-layout-header> 

21,清除浮动的几种方法:

// 方法一:
clear:both;

// 方法二:此方法 IE6 不支持用,追加一条 _zoom:1;
overflow: hidden;
_zoom:1;

// 方法三:格局法,在浮动元素的下方加上
 <div style="clear:both;"></div>

// 方法四:父级元素加一个 clearfix 属性
.clearfix{ zoom:1 }

// 方法五:用伪元素  :after 与 :before 消除元素浮动
.clearfix:before,.clearfix:after{
    content: "";
    display: table;
}

22, [媒体查询特性] prefers-reduced-motion

  • no-preference:用户未修改系统动画相关特性。
  • reduce:意味着用户修改了系统设置,动画最小化,移除所有不必要的动画。
@media (prefers-reduced-motion: no-preference) {
  .App-logo {
    animation: App-logo-spin infinite 20s linear;
  }
}

注:例如:360度旋转

如果有出错的,请大家指教,谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351

推荐阅读更多精彩内容

  • 2D、3D变形动画 transform:2D变形:复合属性 通过 CSS3 转换,我们能够对元素进行移动、缩放、转...
    Zd_silent阅读 387评论 0 0
  • 例:background-image:url('XXX.png'); background-repeat:repe...
    清白_之年阅读 362评论 0 1
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,308评论 0 11
  • css属性很多加上css3新增的就更多了,开发过程中难免有遗漏掉的,有时候又不想翻看繁琐的api文档,所以就把常用...
    小厨笔记阅读 305评论 0 13
  • 2017.9.29,周五,八月初十,阴转晴 头晚睡时觉得有点冷,懒换厚被子,边睡边练功,夜半嗓子疼,咳嗽,醒来体乏...
    紫雪听涛阅读 707评论 3 9