css3总结

CSS的定义是由三个部分构成:选择器(selector),属性(properties)和属性的取值(value)
选择器是一种匹配模式,用于选择需要添加样式的目标对象。行内样式不需要用选择器, 内部或外部CSS需要用选择器。

  • 包含选择器E1 E2(后代关系),选择所有被E1包含的E2
  • 子选择器E1>E2(父子关系),选择所有作为E1子对象的E2,不包含孙子对象
  • 相邻选择器E1+E2(邻居关系),选择紧贴在E1元素之后E2元素(第一个紧跟的邻居元素)
  • 兄弟选择器E1~E2(兄弟关系),选择E1元素后面的所有兄弟元素E2,可以有多个
  • 分组选择器E1,E2,E3(并列关系),将同样的样式应用于多个选择器
  • E1[attr]属性选择器,div[title] { color: blue;},选择具有title属性的div标签
  • E1[attr=value],具有attr属性且属性值等于value的E1,如span[class=demo] { color: red;}
    E:link 未访问的链接 a:link{color:black;text-decoration: none;}
    E:visited 已访问的链接 a.red:link class等于red的a元素
    E:hover 鼠标悬停状态
    E:active 选定的激活状态
    E:focus焦点,一般用于input,input:focus
    E:after 选择器在被选元素的内容后面插入内容
E:before 选择器在被选元素的内容前面插入内容,通常使用 content 属性配合,来指定要插入的内容
<p>歌词的内容,歌词的内容,歌词的内容,歌词的内容,歌词的内容,歌词的内容,歌词的内容</p>
p:before
{
    font-size: 18px;
    color: red;
    font-weight: bold;
    content: "以下是歌词:";
}
p:after
{
    font-weight: bold;
    content: '----歌词结束了。';
}

CSS样式是有优先级的,遵循顺序:行内样式 > id选择器 > 类选择器 > 标签选择器

text-transform英文大小写,p { text-transform :capitalize;}
text-transform:none| capitalize| uppercase| lowercase
none 默认。
capitalize 文本中的每个单词以大写字母开头。
uppercase 全部转为大写字母。
lowercase 全部转为小写字母。

text-decoration :none| underline| blink| overline| line-through
text-indent 文本缩进,p { text-indent :2em; }
white-space 是否自动换行,white-space :normal| pre| nowrap
text-overflow 文本溢出标识,text-overflow : clip | ellipsis
三大件配合使用,当文本溢出时显示省略标记(...)
text-overflow:ellipsis; white-space:nowrap; overflow:hidden;

background-color :transparent| color,没有none哦
background-image :none| url (url)
background-repeat :repeat| no-repeat| repeat-x| repeat-y
border : border-width|border-style|border-color,如1px solid #000

box-sizing:content-box | border-box
content-box标准盒模型,padding和border不被包含在定义的width和height之内,对象的实际宽度等于设置的width值和border、padding之和,即 ( Element width = width + border + padding )
border-box怪异盒模型,padding和border被包含在定义的width和height之内,对象的实际宽度就等于设置的width值,即使定义有border和padding也不会改变对象的实际宽度,即 ( Element width = width )

鼠标形状cursor,div { cursor:pointer; }

浮动的元素可以向左或向右移动,直到它的外边缘碰到父级盒子(父容器)或另一个浮动元素的边框为止。
只要设置了浮动,就将盒子脱离了文本流。由于浮动框不在文本流中,所以文本流中的其它元素,表现出就像浮动框不存在一样,自动上移,占有浮动框的位置。解决的办法:使用clear属性清除浮动带来的效果。

overflow :visible| auto| hidden| scroll
display : block| none|inline
position :static| absolute | fixed| relative
z-index :auto| number 设置对象的层叠顺序,number越大越在上面
位置控制 left right top bottom,与position搭配使用
当对象是相对定位时,以当前对象为基准,表示偏移量。盒子仍在标准文本流中,它对父块和兄弟盒子没有任何影响。
当对象是固定定位时,以浏览器为基准,表示与浏览器边框之间的距离。绝对定位的框从标准流中脱离,其他的盒子就好像这个盒子不存在一样。
当父对象有设置定位,表示与父对象之间的距离,子绝父相

雪碧图,又叫精灵图技术,是把很多小图标放到一个大图中去,这样请求图片只请求一次,防止浪费和频繁请求资源。
引入小图标的办法,在div中设置整个大背景图,然后设置大小和定位,显示小图标
主要解决的问题是,精确找到小图标在整个大图中的位置
可以使用firework软件,打开一张图后,使用切图工具,就能准确知道这个图标的大小和定位,在div里设置background-image属性即可,url() -96px -45px;

解决父元素高度坍塌的问题
造成的原因是子元素脱离文档流,浮动或定位了
解决办法1:父元素开启BFC,使用overflow :hidden
解决办法2:浮动的子元素后面添加个空div,设置清除浮动<div style="clear:both"></div>,会造成多一个div

解决办法3:使用after伪类,在坍塌的父元素上加一个clearfix的class,然后给该class设置伪类
clearfix:after{
      content:"";
      display:block;
      clear:both
}
transition动画效果,一般和伪类一起使用,transform旋转
比如实现点击,展开收缩的效果,图标点一下展开,再点一下收缩
<div class="zhedie iconfont icon-zhedie" @click="show=!show" :class="{active:show}"></div>
.zhedie {
        transition: all 0.5s ease;
    }
.active {
        transform: rotate(90deg);
    }
data里定义一个show:false

再比如下拉框右边的三角,鼠标移动到盒子上以后,三角旋转
<div class="box"></div>
.box {width: 300px;height: 40px;margin-top: 20px;border: 1px solid #ccc;position: relative;}
.box::after{  //使用after伪元素来做那个三角
    content: "";
    position: absolute;
    right: 10px;
    bottom: 15px;//以上是定位位置
    width: 16px;
    height: 16px;
    border-right: 1px solid red;
    border-bottom: 1px solid red;//做一个正方形,右边和下边给边框
    transform: rotate(45deg);//再旋转45度,就成了向下的箭头
    transition: all 0.5s;//给一个动画,谁用用到谁身上
}
.box:hover::after{
    transform: rotate(225deg);//鼠标移动到box上,after伪类旋转225度
    bottom:5px;
}
下面是一个旋转进入效果,鼠标放上去,文字从下面旋转进入
.box{
            width: 100px;
            height: 100px;
            margin: 100px auto;
            border: 1px solid blue;
            overflow: hidden;
        }
        .box::after{
            display: block;
            width: 100px;
            height: 100px;
            content: "haha";
            color:red;
            transform: rotate(180deg);
            transform-origin: left bottom;
            transition: all 0.6s;
        }
        .box:hover::after{
            transform: rotate(0deg);
        }
动画显示大小的写法
.box:hover  {  transform: scale(0.6,0.6);  }

p:nth-child(3), 选择p同级元素中的(从前到后的)第3个元素
p:nth-of-type(3),选择p同级元素中的(从前到后的)第3个p元素,如果里面有别的标签,建议使用
第一个是不管谁都得算上,第二个只管看p元素
last-child 代表在一群兄弟元素中的最后一个元素
last-of-type 代表在一群兄弟元素中的最后一个指定类型的元素

table{border-collapse:collapse;}
表格的边框被合并为一个单一的边框

scoped里面实际上是给当前组件加了一个随机的样式属性,所以不会影响到别的组件
elementui和vantui,包括vux等ui组件,当无法修改默认样式的时候,就可以使用vue的深度选择器
scss里面这样写 .zywclassname ::v-deep .hm-button:first-child
less里面这样写 .zywclassname /deep/ .hm-button:first-child
如果纯css这样写 .zywclassname >>> .hm-button:first-child
最好不要使用去掉scoped的方法

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

推荐阅读更多精彩内容

  • css五种定位static 定位:HTML 元素的默认值,即没有定位,遵循正常的文档流对象。静态定位的元素不会受到...
    王雪浩_强化班阅读 97评论 0 0
  • 一、CSS入门 1、css选择器 选择器的作用是“用于确定(选定)要进行样式设定的标签(元素)”。 有若干种形式的...
    宠辱不惊丶岁月静好阅读 1,591评论 0 6
  • 1、CSS3 选择器 基本的选择器,例如通配符*、类选择器、ID选择器、后迭代选择器(.class Element...
    黑客军团_charles阅读 234评论 0 0
  • day01­_起源和结构 结构:Xhtml xml 表现:CSS 行为:DOM ECMAScript 以上都属于W...
    Sakura_明妃阅读 1,181评论 0 1
  • 近期因为自己想做一个项目的登陆界面,想要实现一些效果,然后在打游戏的时候看到了王者荣耀匹配的界面效果很不错,所以在...
    零基础的前端菜鸡阅读 1,129评论 0 0