css常见布局技巧和html5新增属性(4)

1.marigin负值的使用

  • 让每个盒子的margin往左侧移动-1px,正好压住相邻盒子边框
  • 鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果灭蝇定位,则加相对定位(保留位置),如果有定位,则加z-index)

2.文字围绕浮动元素

巧妙的运用浮动元素不会压住文字的特性。

  • html5新增语义化标签

这些标签主要是针对搜索引擎的,在IE9中需要把这些元素转换为块级元素。移动端更喜欢使用这些标签。这些标签只是基础的部分。

  1. header:头部标签
  2. nav:导航标签
  3. article:内容标签
  4. section:定义文档某个区域
  5. aside:侧边栏标签
  6. footer:尾部标签
  • html中新增的多媒体元素

  1. video:只支持三种视频格式MP4、WebM、Ogg~尽量使用MP4格式。
<video src="文件地址" controls="controls"></video>

        2. audio: 音频,支持ogg,map3格式等~尽量使用MP4格式。

        可通过设置Muted属性来静音播放视频。

  • html新增的input类型

但是这些input必须放在form表单中进行验证。

属性值说明
type="email"限制用户输入必须为Email类型
type="url"限制用户输入的必须为URL类型
type="date'限制用户输入的必须为日期类型
type="time"限制用户输入的必须为时间类型
type="month"限制用户输入的必须为月类型
type="week"限制用户输入的必须为周类型
type="number"限制用户输入的必须为数字类型
type="tel"手机号码
type="search"搜索框
type="color"生成一个颜色选择表单
  • html新增的表单属性

属性说明
requiredrequired表单拥有该属性表示其内容不能为空,必填
placeholder提示文本表单的提示信息,存在默认值将不显示
autofocusautofocus自动聚焦属性,页面加载完成自动聚焦到指定表单
autocompleteoff/on当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。一般情况下都设置成off
multiplemultiple可以多选文件提交
  • css3新增属性

新增的css3特有的兼容性问题,ie9+才有支持。

新增选择器和盒子模型以及其他特性。

  • css3新增下选择器

  1. 属性选择器:属性选择器也有权重. !![ ]

类选择器、属性选择器、伪类选择器权重都是10。

A[att]选择具有att属性的A元素
/*必须是input,但是同时具有value这个属性,选择这个元素 [] */
<input type="text" value="请输入用户名">
<input type="text">

<style>
        input[value]{
            color:pink
}
</style>
A[att = "val"]选择具有att属性且属性值为val的A元素

<input type="text" name="" id="">
<input type="password" name="" id="">
<style> input[type=text]{
    color:pink
}
</style>
A[att^="val"]匹配具有att属性且值为val开头的A元素
A[att$="val"]匹配具有att属性且值以val结尾的A元素
A[att*="val"]匹配具有att属性且值中含有val的A元素

 2. 结构伪类选择器

first-child :伪类来选择父元素的第一个子元素  

p:first-child:表示选择任何元素的第一个子元素的 <p> 元素

last-child :选择所有父元素的最后一个子元素

nth-child(n):选择所有父元素的第n个子元素

nth-child(n):字母只能是n,n可以是数字、关键字和公式。n从0开始自增。

odd,even,2n,2n+1,n+5,5n等,-n+5,前5个

p:first-of-type指定类型p的第一个

p:last-of-type指定类型p的最后一个

p:nth-of-type(n)指定类型P的第n个

前三个和后三个区别:

<style>
 /* 说明下这样设置为什么没有反应的原因。nth-child会把所有的盒子都排列序号,
        执行的时候先看:nth-child(1)之后回去再看前面的div
         */
        section div:nth-child(1){
            color: greenyellow;
        }
        /* nth-of-type会把指定元素排列序号,执行的时候首先去看div指定的元素,之后回去看:nth-of-type(1)第几个孩子*/
         section div:nth-of-type(1){
             color: greenyellow;
         }
</style>
<body>
     <section>
        <p>第一个</p>
        <div>第二个</div>
        <div>第三个</div>
    </section>
</body>

3.伪元素选择器(重点):伪元素是父亲的孩子。

利用css创建新标签元素,而不需要html标签,从而简化html结构。

before,after创建一个元素,但是属于行内元素。新创建的这个元素在文档树中是找不到的,所以叫伪元素。

语法:element::before{}

before和element必须有content属性。before在父元素内容的前面创建元素,after在父元素内容的后面插入元素。伪类选择器和标签选择器一样,权重是1。

伪元素的应用场景:

  1. 伪元素字体图标
  2. 伪元素清除浮动:可以看作是额外标签法清除元素的一个升级。
      /* 通过伪元素生成一个新盒子放在浮动的元素后面,插入的元素必须为块级元素,但是伪元素是行内元素,而且必须指定content */
            .clearfix:after{
                content: '';
                display: block;
                height: 0; 不想看见这个盒子
                clear: both;清除浮动的核心代码
                visibility: hidden;不想看见这个盒子
            }
 .clearfix::before,.clearfix:after{
            content: '';
            /*  display: table;  转换为块元素并在一行显示*/
            display: table;  
        }
        .clearfix:after{
            clear: both;
        }

4. css3盒子模型

box-sizing指定盒模型,有2个值可选:content-box和border-box,这样计算盒子大小的方式就发生了改变。

(1)box-sizing:content-box盒子大小为width+padding+border(以前默认的)

(2)box-sizing:border-box盒子大小为width大小。

如果盒子模型我们改为box-sizing:border-box,那么padding和border就不会撑大了盒子。(前提padding和border不会超出width的宽度)

5.css3的filter

filter属性将模糊或颜色偏移等图形效果应用于元素。

filter:blur(5px);blur模糊处理,数字越大越模糊。

6.css3过渡

谁来过渡给谁加!

过渡动画:是从一个状态渐渐过渡到另外一个状态。(IE9以下版本不适用)

transition:要过渡的属性、花费时间、运动曲线、何时开始;

(1)属性:想要变化的css属性,宽度高度背景颜色和内外边距。all表示所有

(2)花费时间:单位是s

  (3)运动曲线:默认是ease

(4)何时开始:单位是秒,可以设置延迟触发时间。默认是0s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sustyle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值