前端(八):HTML、CSS相关

简介: HTML、CSS相关

H5 新特性

  1. 语义化标签
    header footer section nav aside article
  2. 增强型表单
    input 的多个 type
  3. 新增表单元素
    datalist keygen output
  4. 新增表单属性
    placehoder required min max
  5. 音频视频
    audio video
  6. 其他
    canvas 地理定位 拖拽
  7. 本地存储
    • localStorage
      • 数据上限5MB左右(根据浏览器不同会有所区别)
      • 无论打开还是关闭标签浏览器数据均保留
    • sessionStorage
      • 数据上限5MB左右(根据浏览器不同会有所区别)
      • 打开同源页面或刷新页面数据保留
      • 关闭浏览器数据清空
      • 打开或关闭新的浏览器窗口数据会被删除
    • cookie
      • 数据上限4KB左右(根据浏览器不同会有所区别)
      • 打开同源页面或刷新页面数据保留
      • 关闭浏览器数据清空
      • 打开或关闭新的浏览器窗口数据会被保留
  8. 新事件
    onresize ondrag onscroll onmousewheel onerror onplay onpause
  9. WebSocket
    单个 TCP 连接上进行全双工通讯的协议

    CSS权重 256进制

    | 属性 | 权重 |
    |:--------:| -------------|
    | !important | 无穷 |
    | 行间样式 | 1000 |
    | id | 100 |
    | class/属性选择器/伪类:hover | 10 |
    | 标签选择器/伪元素:after | 1 |
    | 通配符 | 0 |

    CSS 兼容内核

    -moz- 代表FireFox浏览器私有属性
    -ms- 代表IE浏览器私有属性
    -webkit- 代表safari、chrome浏览器私有属性
    -o- 代表opera浏览器私有属性

    CSS3 新特性

  10. 选择器 - 伪类和伪元素
    a:link {
         color: #FF0000} /* 未访问的链接 */
    a:visited {
         color: #00FF00} /* 已访问的链接 */
    a:hover {
         color: #FF00FF} /* 鼠标移动到链接上 */
    a:active {
         color: #0000FF} /* 选定的链接 */
    ::before {
         } /* 选择器在被选元素的前面插入内容和定义css,使用 content 属性来指定要插入的内容。 */
    ::after {
         } /* 选择器在被选元素的后面插入内容和定义css,使用 content 属性来指定要插入的内容。 */
    :first-letter /* 选择该元素内容的首字母 */
    :first-line /* 选择该元素内容的首行 */
    ::selection /* 选择被用户选取的元素部分 */
    
  11. 背景和边框
    背景:
    background-size:规定背景图片的尺寸(cover:填充;100% 100%:拉伸)
    background-origin:规定背景图片的定位区域
    对于 background-origin 属性,有如下属性:
    背景图片可以放置于 `content-box`、`padding-box` 或 `border-box` 区域
    
    边框:
    border-radius:圆角
    box-shadow / text-shadow:阴影
    border-image:边框图片
  12. 文本效果
    text-shadow 向文本添加阴影
    text-justify 规定当 text-align 设置为 “justify” 时所使用的对齐方法
    text-emphasis 向元素的文本应用重点标记以及重点标记的前景色
    text-outline 规定文本的轮廓
    text-overflow 规定当文本溢出包含元素时发生的事情
    text-wrap 规定文本的换行规则
    word-break 规定非中日韩文本的换行规则
    word-wrap 允许对长的不可分割的单词进行分割并换行到下一行
    text-decoration 文本修饰符:overline、line-through、underline 分别是上划线、中划线、下划线
    @font-face 自定义字体
    渐变 CSS3新增了渐变效果,包括 linear-gradient(线性渐变)和 radial-gradient(径向渐变)
  13. 2D/3D 转换
    2D 转换(transform)
    | 属性 | 描述|
    |--------:| :-------------|
    | translate() | 元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数。 transform: translate(50px, 100px); |
    | rotate() | 元素顺时针旋转给定的角度。若为负值,元素将逆时针旋转。transform: rotate(30deg); |
    | scale() | 元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数,也可以一个值(宽高)。transform: scale(2,4); |
    | skew() | 元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数。transform: skew(30deg, 20deg); |
    | matrix() | 把所有 2D 转换方法组合在一起,需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素。transform:matrix(0.866,0.5,-0.5,0.866,0,0); |
    3D 转换
    | 属性 | 描述|
    |--------:| :-------------|
    | rotateX() | 元素围绕其 X 轴以给定的度数进行旋转。transform: rotateX(120deg); |
    | rotateY() | 元素围绕其 Y 轴以给定的度数进行旋转。transform: rotateY(130deg); |
    | perspective | 规定 3D 元素的透视效果 |
  14. 动画、过渡
    过渡效果(transition)

    使页面变化更平滑,以下参数可直接写在 transition 后面

    | 属性 | 描述|
    |--------:| :-------------|
    | transition-property | 执行动画对应的属性,例如 color,background 等,可以使用 all 来指定所有的属性。 |
    | transition-duration | 过渡动画的一个持续时间 |
    | transition-timing-function | 在延续时间段,动画变化的速率,常见的有:ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier |
    | transition-delay | 延迟多久后开始动画 |
    动画(animation)

    先定义 @keyframes 规则(0%,100% | from,to)
    然后定义 animation,以下参数可直接写在 animation 后面

    | 属性 | 描述|
    |--------:| :-------------|
    | animation-name | 定义动画名称 |
    | animation-duration | 指定元素播放动画所持续的时间长 |
    | animation-timing-function | ease linear ease-in ease-out ease-in-out cubic-bezier(, , , ): 指元素根据时间的推进来改变属性值的变换速率,即动画的播放方式 |
    | animation-delay | 指定元素动画开始时间 |
    | animation-iteration-count | infinite number指定元素播放动画的循环次数 |
    | animation-direction | normal alternate: 指定元素动画播放的方向,其只有两个值,默认值为normal,如果设置为 normal 时,动画的每次循环都是向前播放;另一个值是 alternate,规定动画在下一周期逆向地播放(来去播放) |
    | animation-play-state | running paused :控制元素动画的播放状态 |

  15. 多列布局
    | 属性 | 描述|
    |--------:| :-------------|
    | column-count | 规定元素应该被分隔的列数 |
    | column-gap | 规定列之间的间隔 |
    | column-rule | 设置列之间的宽度、样式和颜色规则 |

  16. 用户界面

    新的用户界面特性包括重设元素尺寸、盒尺寸以及轮廓等

    | 属性 | 描述|
    |--------:| :-------------|
    | resize | both none both horizontal vertical |
    | box-sizing | 属性可设置的值有 content-box、border-box 和 inherit |
    | content-box | 是W3C的标准盒模型,元素宽度 = 内容宽度 + padding + border:意思是 padding 和 border 会增加元素的宽度,以至于实际上的 width 大于原始设定的 width |
    | border-box | 是ie的怪异盒模型,元素宽度 = 设定的宽度,已经将 padding 和 border 包括进去了,比如有时候在元素基础上添加内距 padding 或 border 会将布局撑破,但是使用 border-box 就可以轻松完成 |
    | inherit | 规定应从父元素继承 box-sizing 属性的值 |
    | outline-offset | 属性对轮廓进行偏移,并在超出边框边缘的位置绘制轮廓 |

  17. 清除浮动方法 如何解决margin垂直塌陷问题(触发父节点的bfc)

    额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear:both;)(不推荐

    <div class="box">
       <div class="box01">box01</div>
       <div class="box02">box02</div>
       <div class="clear">额外标签法</div>
    </div>
    .clear{
       clear:both;
    }
    
    优点:通俗易懂,方便
    缺点:添加无意义标签,语义化差
    

    父级添加overflow属性(父元素添加overflow:hidden)(不推荐
    通过触发BFC方式,实现清除浮动

    .box{
          
      overflow: hidden;
    }
    
    优点:代码简洁
    缺点:内容增多的时候容易造成不会自动换行导致内容被隐藏掉,无法显示要溢出的元素
    

    使用after伪元素清除浮动(推荐使用

    .clearfix:after{
          /*伪元素是行内元素 正常浏览器清除浮动方法*/
       content: "";
         display: block;
         clear:both;
     }
     .clearfix{
          
         *zoom: 1;/*ie6清除浮动的方式 *号只有IE6-IE7执行,其他浏览器不执行*/
     }
    
    优点:符合闭合浮动思想,结构语义化正确
    缺点:ie6-7不支持伪元素:after,使用zoom:1触发hasLayout.
    

    使用before和after双伪元素清除浮动

    .clearfix:after,
    .clearfix:before{
          
         content: "";
         display: block;
     }
     .clearfix:after{
          
         clear: both;
     }
     .clearfix{
          
         *zoom: 1;
     }
    
    优点:代码更简洁
    缺点:用zoom:1触发hasLayout.
    
  18. haslayout是IE7-浏览器的特有属性。hasLayout是一种只读属性,有两种状态:true或false。

    当其为true时,代表该元素有自己的布局,否则代表该元素的布局继承于父元素。

    默认触发hasLayout的有如下HTML标签:

            html,body,table,tr,th,td,img,hr,input,button,select,textarea,fieldset,frameset,frame,iframe
    

    可以触发hasLayout的有如下CSS属性:

            display:inline-block
            height/width:除了auto
            float:left/right
            position:absolute
            writing-mode(IE专有属性,设置文本的垂直显示):tb-rl
            zoom(IE专有属性,设置或检索对象的缩放比例):除了normal
    

    IE7专有的触发hasLayout的CSS属性

            min-height/max-height/min-width/max-width:除none
            overflow\overflow-x\overflow-y:除visible
            position:fixed
    

    bfc解决margin塌陷

    .box01 {
          
    width: 200px;
    height: 200px;
    margin-top: 60px;
    background-color: #000;
    /* position: absolute; */
    /* overflow: hidden; */
    /* display: inline-block; */
    /* float: left; */
    }
    
目录
相关文章
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
伪类:伪类这个叫法源自于它们跟类相似,但实际上并没有类会附加到标记中的标签上。 伪类分为两种(以及新增的伪类选择器): UI伪类:会在HTML元素处于某种状态时(例如:鼠标指针位于连接上),为该元素应用CSS样式。 :hover 结构化伪类:会在标记中存在某种结构上的关系时 例如: 某元素是一组元素中的第一个或最后一个,为该元素应用CSS样式。 :not和:target(CSS3新增的两个特殊的伪类选择器)
1046 2
|
8月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
409 1
|
8月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
402 1
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
Flex 布局 布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。 2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地使用这项功能。 一、Flex 布局是什么? Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。
516 0
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
盒模型 盒模型: 所谓盒模型,就是浏览器为页面中的每个HTML元素生成的矩形盒子。 这些盒子们都要按照可见板式模型在页面上排布。 可见的板式模型主要由三个属性控制:position 属性、display 属性和 float属性。 position属性控制页面上元素间的位置关系。 display属性控制元素是堆叠、并排或者不在页面上显示。 float属性提供控制的方法,以便于把元素组成成多栏布局。 盒模型讲解: 在默认的情况下,每个盒子的边框是不可见的,背景也是透明的。 所以我们 不能直接的看到页面中的盒
1252 1
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
上下文选择器(迭代选择器):基于祖先或同胞元素选择一个元素 ID和类选择器:基于id#和class的属性值进行选择元素。 属性选择器:基于属性的有无和特征进行选择。 ①上下文选择器: 上下文选择器的语法格式:标签1 标签2{属性:值;} //注意:组合选择器和上下文选择器的区别,组合选择器以逗号隔开, 上下文选择器以空格隔开 ②特殊的上下文选择器 子选择器> : 语法格式:标签1>标签2 解释说明:标签1和标签2
480 1
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
Animation属性 css3为Animation动画提供的几个属性如下: 属性名 属性值 animation-name 指定动画名称,该属性指定一个已有的关键帧定义。 animation-duration 指定动画持续时间。 animation-timing-funtion 指定动画变化速度。 animation-delay 指定动画延迟多长时间才开始执行。 animation-iteration-count 指定动画的循环执行次数。 animation:这是一个复合属性。
527 3
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
693 0
|
8月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
279 1
|
12月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中

热门文章

最新文章