html5 03 选择器、伪元素、盒模型、边框圆角、盒子阴影、安卓机器人案例

01-认识css3

  • 什么是css3?
    CSS3是CSS2的“进化”版本,在CSS2基础上,增强或新增了许多特性,弥补了CSS2的众多不足之处,使得 Web开发变得更为高效和便捷
  • css3现状
    • 浏览器支持程度差,需要添加私有前缀
    • 移动端支持优于PC端
    • 不断改进中
    • 应用相对广泛
  • 如何对待css3兼容问题?
    • 渐进增强(Progressive Enhancement):一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验。
    • 优雅降级(Graceful Degradation):一开始就构建站点的完整功能,然后针对浏览器测试和修复。比如一开始使用 CSS3 的特性构建了一个应用,然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览。
    • 考虑用户群体:例如医院、银行等政府网站基本不需要c3
    • 听产品经理的
    • 听boss的

02-属性选择器

  • li[style]:li标签中有style属性既满足条件
  • li[class=red]:li标签中class属性的值必须是red
  • li[class*=red]:li标签中只要包含red
  • li[class^=blue]:li标签中以blue开头的
  • li[class$=blue]:li标签中以blue结尾的

03-兄弟选择器

  • .first + li:.first下面相邻的li元素,如果不是li元素就不起作用
  • .first ~ li:.first下面所有的li元素会起作用

04-伪类选择器

  • li:first-child:li的父元素的第一个子元素,如果第一个子元素的类型为li起作用,如果不是li,不起作用
  • li:last-child:li的父元素的最后一个子元素,如果最后一个子元素的类型为li起作用,如果不是li,不起作用
  • li:first-of-type:li的父元素的第一个子元素,如果第一个子元素不是li,自动跳过,继续查找,一直查找到第一个li元素
  • li:last-of-type:li的父元素的最后一个子元素,如果最后一个子元素不是li,自动跳过,继续查找,一直查找到最后一个li元素
  • li:nth-child(5):查找到索引为5的(索引从1开始),如果类型不是li,索引也会计算
  • li:nth-child(even):查找到索引为偶数的,如果类型不是li,索引也会计算
  • li:nth-child(odd):查找到索引为奇数的,如果类型不是li,索引也会计算
  • li:nth-of-type(even):产找到索引为偶数的,如果类型不是li,索引不会计算
  • li:nth-of-type(odd):产找到索引为奇数的,如果类型不是li,索引不会计算
  • li:nth-of-type(n):n取值0~子元素的长度,表达式最后的结果如果小于=0 无效的
  • li:empty:代表li的父元素的子元素下面没有任何内容的元素,连空格都没有

05-伪元素

普通的所有标签都会有before、after,input、img但标签是没有的

  • ::before:默认在普通标签的左面
  • ::after:默认在普通标签的右面
  • content:放置内容的,并且必须是有的
  • 默认是行内元素,想设置宽高,转化为块元素,display:block;float、position

06-其他伪元素

  • ::first-letter:设置首字母
  • ::first-line:设置文本第一行的样式
  • ::selection:设置当前选中的内容的样式

07-文本阴影的使用

  • text-shadow:2px 1px 1px red;
  • 第一个值:设置文本阴影横向的偏移
  • 第二个值:设置文本阴影纵向的偏移
  • 第三个值:设置文本阴影虚化程度
  • 第四个值:设置文本阴影的颜色
  • 文本阴影是可以设置多层的,用逗号隔开即可

08-盒模型

我们在给元素设置宽和高的时候,默认,宽高是内容的宽高

  • box-sizing:border-box
    宽高是设置盒子的实际的宽高,不会被padding、border给撑开,并且内容,会变小,因为padding和border向里撑开
  • box-sizing:content-box
    设置内容的宽高,会被padding、border给撑开,content-box也是默认状态

09-边框圆角

  • border-radius:10px;这样是设置四个角都有效果
  • border-radius:10px 20px;
    第一个值:左上、右下
    第二个值:右上、左下
  • border-radius:10px 20px 30px;
    第一个值:左上
    第二个值:右上、左下
    第三个值:右下
  • border-radius:10px 20px 30px;
    第一个值:左上
    第二个值:右上
    第三个值:右下
    第四个值:左下
  • 圆:设置圆角的宽高的一般
  • 半圆:高度设置一半,圆角设置,左上和右上即可

11-盒子阴影

  • box-shadow:6px 4px 12px 5px #000;
  • 第一个值:设置盒子阴影横向偏移
  • 第二个值:设置盒子阴影纵向偏移
  • 第三个值:设置盒子阴影的虚化程度
  • 第四个值:设置盒子阴影的范围
  • 第五个值:设置盒子阴影的颜色
  • 第六个值:设置盒子的内阴影 inset
  • 同样也是可以设置多层阴影,还是用逗号隔开

机器人案例


  • 脑袋和眼睛
    脑袋:一个半圆,高度设置为宽度的一般,圆角给左上和右上设置
    眼睛:给脑袋这个元素设置伪元素,左眼睛:before,右眼睛:after
  • 身体
    胳膊和身体
    身体:长方形,左下和右下设置圆角
    胳膊:左胳膊:before,右胳膊:after
  • 腿部
    准备一个元素,设置伪元素即可
    左腿:before,右腿:after
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值