关于 HTML5 和 CSS3 这些知识点你都知道多少--静态篇

关于 HTML5 和 CSS3 这些知识点你都知道多少–静态篇


前言: 当我学过了前端的很多框架之后,发现自己的基础的css3有点弱,这些H5和C3的新特性用特不是很熟练,因此现在回过头来再学习一遍这些新的特性,当学过一些前端框架过后你会发现CSS3真的很重要!

1. HTML5 新增标签

  • header头部标签
  • footer 底部标签
  • section 块 区域标签 可以理解为较大的div
  • article 文章内容标签
  • nav 导航标签
  • aside侧边栏
  • audio 音频
  • video 视频

input中新增的值

属性值 说明
type=“email” 限制用户输入必须为Email类型
type=“url” 限制用户输入必须为URL类型
type=“date” 限制用户输入必须为日期类型
type=“time” 限制用户输入必须为时间类型
type=“month” 限制用户输入必须为月类型
type=“week” 限制用户输入必须为周类型
type="number’ 限制用户输入必须为数字类型
type=“tel” 手机号码
type=“search” 搜索框
type=“color” 生成一个颜色选择表单
属性 说明
required required 表单拥有该属性表示其内容不能为空,必填
placeholder 提示文本 表单的提示信息,存在默认值将不显示
autofocus autofocus 自动聚焦属性,页面加载完成自动聚焦到指定表单
autocomplete off/ on 当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。默认已经打开,如autocomplete=“on”,关闭autocomplete ="off"需要放在表单内,同时加上name属性,同时成功提交
multiple multiple 可以多选文件提交

2. css3 选择器

2.1 css3 属性选择器

例如我们有两个input 但是只对一个有value属性的input设置样式,这样我们就可以使用属性选择器

<style> 
	input[value] {
        color: pink;
    }
</style>

<body>
    <input type="text" value="12123321">
    <input type="text">
</body>

在这里插入图片描述

但是它不仅仅如此还可以根据属性的值进行判断,如下

<style> 
	input[type=text] {
        color: pink;
    }
</style>

<body>
    <input type="text" value="123">
    <input type="password" value="123">
</body>
选择符 Value
E[att] 选择具有att属性的E元素
E[att=“value”] 选择具有att属性且属性值等于value的E元素
E[att^=“value”] 选择以value开头的元素
E[att$=“value”] 选择以value结尾的元素
E[att*=“value”] 选择包含value的元素

2.2 结构伪类选择器

选择符 简介
E:first-child 匹配父元素中的第一个子元素E
E:last-child 匹配父元素中最后一个E元素
E:nth-child(n) 匹配父元素中的第n个子元素E
E:first-of-type 指定类型E的第-一个
E:last-of-type 指定类型E的最后-个
E:nth-of-type(n) 指定类型E的第n个

类似这种情况就会很方便

    ul li:first-child {
   	 color: pink;
    }
    ul li:last-child {
   	 color: pink;
    }
    ul li:nth-child(3) {
  	  color: pink;
    }    

    <ul>
        <li>我是第1个孩子</li>
        <li>我是第2个孩子</li>
        <li>我是第3个孩子</li>
        <li>我是第4个孩子</li>
        <li>我是第5个孩子</li>
    </ul>

小知识:这个 ul>li{我是第$个孩子}*5 可以快捷生成上面的标签哦~!

通过nth-child()我们还可以隔行变色,通过选中所有的基数或则偶数行设置样式 ,如下:

/* 基数行 */
ul li:nth-child(odd) {
	background-color: gray;
} 
/* 偶数行 */
ul li:nth-child(even) {
    background-color: #ccc;
}

在这里插入图片描述

如果nth-child(n)在这个括号里面写n的话 则表示选中所有的子元素

公式 取值
2n 偶数
2n+1 奇数
5n 5 10 15…
n+5 从第5个开始(包含第五个)到最后
-n+5 前5个(包含第5个) …

2n 因为n是从0开始的 所以2n就是所有的偶数,2n+1就是基数,同理其他的也是这样算的。

至于E:first-of-type、 E:last-of-type和E:nth-of-type(n) 这三个和 上面讲的三个很像,功能类似 ,但是它可以将指定的元素排序号。nth-child是给所有的孩子节点排序,然而nth-of-type是给指定类型的孩子节点排序

2.3 css3 伪元素选择器

伪元素选择器可以帮助我们利用CSS创建新标签元素,而不需要HTML标签,从而简化HTML结构。

选择 简介
::before 在元素内部的前面插入内容
::after 在元素内部的后面插入内容
  • before和after创建一个元素 ,但是属于行内元素想设置大小需要转换为块元素等。

  • 新创建的这个元素在文档树中是找不到的,所以我们称为伪元素

  • 语法: element::before{}

  • before和after 必须有content属性

  • before在父元素内容的前面创建元素, after在父元素内容的后面插入元素

  • 伪元素选择器和标签选择器一样,权重为1

那么这个有哪些应用场景呢?
1.在这里插入图片描述

这个需要用到字体图标

.box5 {
    position: relative;
    width: 300px;
    height: 30px;
    border: 1px solid black;
}
.box5::after{
    font-family: icomoon;
    content: '';
    position: absolute;
    line-height: 30px;
    right: 10px;
}
 <div class="box5"></div>

2.在这里插入图片描述

这种遮罩层也可以使用伪元素来做,

.box5 {
    position: relative;
    width: 300px;
    height: 30px;
    border: 1px solid black;
}
.box5::before{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
}
  • 伪元素清除浮动

    .clearfix::after {
        content: "";
        display: block;
        height: 0; //隐藏伪元素
        clear: both;
        visibility: hidden; //隐藏伪元素
    }
    
    .clearfix:before,
    .clearfix:after {
        content: "";
        display: table; //转换块元素表示这个两个伪元素在一行
    }
    
    .clearfix:after {
        clear: both;
    }
    

    上面这是使用伪元素两种清除浮动的办法。

3. css3的盒模型

css3中可以通过box-sizing来指定盒模型,有2个值:即可指定为content-box、border-box ,这样我们计算盒子大小的方式就发生了改变。

可以分成两种情况:

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

  2. box-sizing: border-box盒子大小为width,这样的话我们的宽度是一定的不管外面又没有padding和border大小都是width 的给定宽度。

通过使用这个特性我们就不需要再 考虑padding和border带给我们的加加减减了。

4. css3 的其他新特性

4.1 css3 图片的模糊处理

img {
    filter: blur(15px);
}

blue是一个函数,小括号里面的数值越大,图片就会变得越模糊 注意 这个需要加px单位 ,如下图效果

在这里插入图片描述

4.2 css3的calc 函数

这个函数呢可以让我们再css中做一些计算操作例如

width:calc(100% - 80px);

这个函数要注意的是 运算符两边一定要有空格。

当然css3中还有更重要的过渡属性,但是这个放到下一篇 动画篇中来写了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章