web前端入门

1.css选择器

标签选择器(TAG选择器)

  • css:div{}
    html:<div>
    使用的场景:
    1.去除某些标签的默认样式
    2.复杂的选择器中,如层次选择器

群组选择器(分组选择器)

  • css:div,p,span{}
    可以通过逗号的方式,给多个不同的选择器添加统一的css样式,来达到代码的复用

通配选择器

  • *{} div,li,ul,p,h1,h2
    注:尽量避免使用通配选择器,因为会给所以的标签添加样式,慎用。
    使用场景:去掉所有标签的默认样式

层次选择器

  • 后代 m n {}
    父子m>n {}
    兄弟m~n {} 当前m下的所有兄弟n标签
    相邻m+n{} 当前m下面相邻的n标签

属性选择器

  • m【attr】{}
    *=:部分匹配
    =:完全匹配
    ^=:起始匹配
    $=:结束匹配
    【】【】【】:组合匹配

伪类选择器

  • css伪类用于向某些元素添加特殊的效果。
    一般用于初始样式添加不下的时候,用伪类来添加。
    m:伪类{}
    :link访问前的样式(只能添加给a标签)
    :visited访问后的样式(只能添加给a标签)
    :hover鼠标移入时的样式(可以添加给所有标签)
    :active鼠标按下时的样式(可以添加给所有标签)
    注:
    如果四个伪类都生效,一定要注意顺序:L V H A
    一般网站只这样去设置:a{} (link visited active) a:hover{}
    :after、:before 通过伪类的方式给元素添加一段文本内容(使用content属性)
    :checked、:disabled、:focus 都是针对表单元素的

结构性伪类选择器

  • nth-of-type() nth-child()
    角标是从1开始的,1表示第一项,2表示第二项
    n值表示从0到无穷大
    first-of-type
    last-of-type
    only-of-type
    nth-of-type()和nth-child()之间的区别
    type:样式
    child:孩子

2.css继承

  • 文字相关的样式可以被继承
    布局相关的样式不能被继承(默认是不能被继承的,但是可以设置继承属性 inherit值)

3.css样式优先级

相同样式优先级

当设置相同样式时,后面的优先级较高,但不建议出现重复设置样式的情况。
内部样式和外部样式
内部样式和外部样式优先级相同,如果都设置了相同样式,那么后写的引入方式优先级高
单一样式优先级
style行间>id>class>tag>*>继承
注:
style行间 权重 1000
id 权重 100
class 权重 10
tag 权重 1

  • !important
    提升样式优先级,非规范方式,不建议使用(不能针对继承的属性进行优先级的提升)
    标签+类与单类
    标签+类>单类 优先级
    群组优先级
    群组选择器与单一选择器的优先级相同,靠后写的优先级高

层次优先级

  • 权重比较
    ul li .box p input{} 1+1+10+1+1
    .hello span #elem{} 10+1+100
  • 约分比较
    ul li .box p input{} li p input{}
    .hello span #elem{} #elem{}

4.css盒子模型

  • 组成:content、padding、border、margin
    分别表示:物品、填充物、包装盒、盒子与盒子之间的间距
  • content:内容区域 width和height组成的
  • padding:内边距(内填充)
    只写一个值:30px(上下左右)
    只写两个值:30px、40px(上下、左右)
    写四个值:30px、40px、50px、60px(上、右、下、左)
    单一样式只能写一个值:
    padding-left
    padding-right
    padding-top
    padding-bottom
  • margin:外边距(外填充)
    只写一个值:30px(上下左右)
    只写两个值:30px、40px(上下、左右)
    写四个值:30px、40px、50px、60px(上、右、下、左)
    单一样式只能写一个值:
    margin-left
    margin-right
    margin-top
    margin-bottom
  • 注:
    背景色填充到margin以内的区域(不包括margin区域)
    文字在content区域添加
    padding不能为复数,而margin可以为复数

box-sizing

  • 盒尺寸,可以改变盒子模型的展示形态
  • 默认值:content-box:width、height->content
  • border-box:width、height->content padding border
  • 使用场景
  • 不用计算一些值,解决一些100%的问题

margin叠加问题

  • margin叠加
    当给两个盒子同时添加上下外边距的时候,就会出现叠加的问题。
    这个问题,只在上下有,左右是没有这个叠加问题的(会取上下中值较大的作为叠加的值)
    解决方案:BFC规范,想办法只给一个元素添加间距。

拓展

  • .margin自适应居中
    margin左右自适应是可以的,但是上下自适应不行(会给其他样式产生冲突)
  • 不设置content的现象
    width、height不设置的时候,对盒子模型的影响:会自动去计算容器的大小,节省代码

5.按类型划分标签

  • block: div、p、ul、li、h1……
    独占一行
    支持所有样式
    不写宽的时候,跟父元素的宽相同
    所占区域是一个矩形
  • inline: span、a、em、strong、img……
    挨在一起的(不独占一行)
    有些样式不支持,例如:width、height、margin、padding
    不写宽的时候,宽度由内容决定
    所占的区域不一定是矩形
    内联标签之间会有空隙,原因:换行产生的
  • inline-block: input、select……
    挨在一起,但是支持宽高

注:布局一般用块标签,修饰文本一般用内联标签

6.按内容划分标签

  • Flow:流内容(包含了以下所有内容)
    Metadata:元数据
    Sectioning:分区
    Heading:标题
    Phrasing:措辞
    Embedded:嵌入的
    Interactive:互动的

7.按显示划分标签

  • 替换元素:浏览器根据元素的标签和属性,来决定元素的具体显示内容,如:image、input…
    非替换元素:将内容直接告诉浏览器,将其显示出来(只写标签就可以,不需要通过属性来操作)如:div、h1、p…

8.display显示框类型

  • block
    inline
    inline-block
    none(让指定标签不在页面中显示,不占空间的隐藏)
    visibility:hidden(占空间的隐藏

9.标签嵌套规范

  • 块标签可以嵌套内联标签
    块标签不一定能嵌套块标签(绝大部分可以)
    但是p标签里面不能嵌套div标签
    内联标签不能嵌套块标签
    特殊:a标签可以
    但两个a标签不能嵌套在一起

10.overflow溢出隐藏

  • overflow :visible(默认),hidden,scroll,auto
  • x轴、y轴
    overflow-x、overflow-y针对两个轴分别设置

11.透明度与手势

  • 调节不透明度: opacity:0(透明)~1(不透明)
    注:占空间,所有的子内容也会透明
    rgba():0~1
    注:可以让指定的样式透明,而不影响其它样式
  • 手势: cursor:手 default:默认箭头
    自定义手势: 图片: .cur .ico(格式)
    cursor :url(#),auto;

12.最大最小宽高

  • min-width 、 min-height
    max-width 、 max-height
    % 单位:换算以父容器的大小进行换算的
    一个容器怎么适应屏幕的高:容器加height:100%; body:100%; html:100%
    html,body { height :100% }
    .container { height : 100% ; }

13.css默认样式

  • 有些标签有默认样式,有些标签没有默认样式
  • 没有默认样式:
    div、span…
  • 没有默认样式:
    body:margin:8px
    h1…h6:margin:上下 21.440px
    p->margin:上下 16px
    ul->margin:上下 16px padding:左 40px
    默认点:list-style:disc
    a:text-decoration:underline
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值