其他分享
首页 > 其他分享> > Web前端开发学习笔记07--HTML和CSS

Web前端开发学习笔记07--HTML和CSS

作者:互联网

HTML和CSS的提升

1、CSS的高级技巧

1.1 精灵图

精灵技术主要是针对于背景图片使用,就是把多个小背景图片整合到一张大图片中

  1. 移动背景图片时,可以只用background-position
  2. 移动的距离就是这个目标图片的x 和y 坐标
  3. 数值为负值
  4. 使用精灵图时要精确测量,每个背景图片的大小和位置

1.2 字体图标

字体图标展示的是图标,本质属于字体

优点:

(1)字体图标的下载:

下载网站:

步骤:

  1. 打开网站,点击IcoMoon App,选中图标,点击cenerate font
  2. 点击download

(2)字体图标的引入:

  1. 把下载包里面的fonts 文件夹放到页面根目录下
  2. 在CSS样式中全局声明字体(把字体文件通过CSS引入页面)
  3. 在解压缩文件的style.css 文件中获取声明

声明

@font-face {
  font-family: 'icomoon';
  src:  url('fonts/icomoon.eot?c9i3f2');
  src:  url('fonts/icomoon.eot?c9i3f2#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?c9i3f2') format('truetype'),
    url('fonts/icomoon.woff?c9i3f2') format('woff'),
    url('fonts/icomoon.svg?c9i3f2#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

具体使用方式:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>字体图标</title>
    <style>
        @font-face {
            font-family: 'icomoon';
            src: url('fonts/icomoon.eot?c9i3f2');
            src: url('fonts/icomoon.eot?c9i3f2#iefix') format('embedded-opentype'), url('fonts/icomoon.ttf?c9i3f2') format('truetype'), url('fonts/icomoon.woff?c9i3f2') format('woff'), url('fonts/icomoon.svg?c9i3f2#icomoon') format('svg');
            font-weight: normal;
            font-style: normal;
            font-display: block;
        }
        
        span::after {
            font-family: 'icomoon';
        }
    </style>
</head>

<body>
    <span></span>
</body>

span盒子中的图标,为复制下图右下角图标:

在这里插入图片描述

(3)字体图标的追加:

步骤:

  1. 打开网站,点击IcoMoon App,选中图标
  2. 点击import Icons,选择 selection.json 文件打开
  3. 选定需要追加的图标,点击cenerate font
  4. download
  5. 删除旧文件,把新下载的文件加入

1.3 CSS的三角形

(1)等腰三角

语法示例:

div {
     width: 0;
     height: 0;
     line-height: 0;   /*照顾兼容性*/
     font-size: 0;
     border: 10px solid transparent;  
     border-left-color: red;    /*左侧三角*/
}

效果:
在这里插入图片描述

(2)直角三角形

语法示例:

div {
     width: 0;
     height: 0;
     border-color: transparent red transparent transparent;
     border-style: solid;
     border-width: 20px 8px 0 0;  /*将上边框增大,左下边框设为0*/
}

效果:

在这里插入图片描述

1.4 用户界面样式

用户界面样式:更改一些用户操作样式

(1)更改用户鼠标样式

设置或检索在对象上移动的鼠标指针采用何种系统预定义的光标的形状

语法示例:

li { cursor: pointer;}
属性值描述
default小白(默认)
pointer小手
move移动
text文本
not-allowed禁止

(2)取消表单轮廓线和防止拖拽文本域

取消表单轮廓线:

input {outline: none;}

防止拖拽文本域:

textarea { resize: none; }

1.5 行内块和文字居中对齐

vertical-align 属性:设置图片或表单(行内元素)和文字垂直对齐

注意:只对行内元素或行内块元素有效

语法:

vertical-align: baseline | top | middle | bottom ;
描述
baseline默认值,元素放置在父元素的基线上
top把元素的顶端与行中的最高元素的顶端对齐
middle把元素放置在父元素的中部
bottom把元素的顶端与行中最低的元素的顶端对齐

在这里插入图片描述
特别注意:图片底侧空白缝隙的解决方案

  1. 给图片添加vertical-align:middle | top | bottom 等
  2. 把图片转化为块级元素 display:block;

1.6 溢出文字的省略号显示

(1)单行文本溢出显示省略号

white-space: nowrap;     /*强制一行内显示文本*/
overflow: hidden;        /*超出部分隐藏*/
text-overflow: ellipsis; /*用省略号代替超出的部分*/

(2)多行文本溢出显示省略号

多行文本溢出显示省略号有较大的兼容性问题,适合于webKit 浏览器或移动端

overflow: hidden;        /*超出部分隐藏*/
text-overflow: ellipsis; /*用省略号代替超出的部分*/
display: -webkit-box;   /*弹性伸缩盒子模型显示*/
-webkit-line-clamp: 2;  /*限制在一个块元素的文本的行数*/
-webkit-box-orient: vertical; /*设置或检索伸缩盒对象的子元素的排列方式*/

1.7 常见的布局技巧

(1)margin 负值的运用

  1. 让每个盒子margin 往左侧移动 -1px 正好压住相邻盒子边框
  2. 鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果没有定位,则加相对定位,如果有定位,则加z-index)
li:hover {
   position: relative;   /*相对定位*/
   border: 1px solid red;
}

或:

li:hover {
   z-index: 1;
   border: 1px solid red;
}

(2)文字围绕浮动元素巧妙运用

浮动元素不会压住文字

图片盒子左浮动效果图:
在这里插入图片描述

(3)行内块元素的巧妙运用

效果:
在这里插入图片描述

1.8 CSS的初始化

示例:

/*把所有标签的内外边距清零*/
* {
  margin: 0;
  padding: 0;
}
/*斜体的文字不倾斜*/
em,
i {
  font-style: normal;
}
/*去掉li的小圆点*/
li {
   list-style: none;
}
img {
   border: 0;               /*照顾低版本浏览器:图片包含链接的边框问题*/
   vertical-align: middle;  /*取消图片底侧有空白缝隙的问题*/
}
/*定义鼠标经过button按钮时鼠标的样式为 pointer*/
button {
   cursor: pointer;
}
/*所有链接的颜色、取消下划线*/
a {
  color: #666;
  text-decoration: none;
}
/*鼠标经过链接变成绿色*/
a:hover {
  color: green;
}
/*所有button、input指定字体*/
button,
input {
  font-family:Microsoft YaHei,Hei ti SC;
}
/*指定body的一些元素样式*/
body {
  -webkit-font-smoothing: antialiased; /*抗锯齿性,让文字显示更加清晰*/
  background-color: #fff;
  font: 12px/1.5 Microsoft YaHei;
  color
}
/*清除浮动*/
.clearfix: after {
   content: "";
   display: block;
   height: 0;
   clear: both;
   visibility: hidden;
}
.clearfix {
          *zoom: 1;    /*IE6、7 专有*/
}

2、CSS的新特性

注意:

2.1 选择器

(1)属性选择器

属性选择器可以根据元素特定属性的来选择元素,可以实现不借助类或id选择器实现功能。

选择符说明
E[att]选择具有 att 属性的 E 元素
E[att=“val”]选择具有 att 属性且属性值等于 val 的 E 元素
E[att^=“val”]选择具有 att 属性且属性值以 val 开头的 E 元素
E[att$=“val”]选择具有 att 属性且属性值以 val 结尾的 E 元素
E[att*=“val”]选择具有 att 属性且属性值中含有 val 的 E 元素

注意:

(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 个

nth-child(n):

nth-child(n) 和 nth-of-type(n) 的区别:

(3)伪元素选择器

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

语法:

element::before{}

基本使用:

div::before {
   display: inline-block;   /*为了可以使盒子可以定义宽高*/
   content: '';             /* '' 中间可以内容可自由编辑*/
   width: 30px;
   height: 30px;
   background: pink;
}
选择符说明
::before在元素内部的前面插上内容
::after在元素内部的后面插上内容

2.2 盒子模型 border-box

CSS3 可以通过 box-sizing 来指定盒模型,有 2 个值:content-box、border-box。使得计算盒子大小的方式发生变化。

开发中使用:

* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
}

2.3 filter 和 calc

(1)图片变模糊
CSS 滤镜filter:将模糊或颜色偏移等图形效果运用于元素

语法:

filter: 函数();   

示例:

filter: blur(5px);  /* blur函数:模糊处理,数值越大越模糊*/

(2)计算盒子宽度 width: clac 函数

calc函数:在声明 CSS 属性值时执行一些计算

语法:

width: calc(100% - 20px);  /*可以使用 + - * / 来进行计算*/

2.4 过渡 transition

transition 属性让 CSS 具有动画的效果,常与 :hover 搭配使用。

语法:

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

3、常用的HTML5的新特性

HTML5 的新增特性都有兼容性问题,基本上是IE9+ 以上的版本才支持

3.1 标签

(1)语义化标签

<header>:头部标签
<nav>: 导航标签
<article>:内容标签
<section>:定义文档某个区域
<aside>:侧边栏标签
<footer>:尾部标签

在这里插入图片描述

(2)视频标签video

在不使用插件的情况下,可以原生的支持视频格式文件播放

视频标签:video 的兼容性

浏览器MP4WebMOgg
Internet Exploreryesnono
Chromeyesyesyes
Firefoxyes(从Firefox 21 版本开始)yesyes
Safariyesnono
Operayesyesyes

语法:

<video src="文件地址" controls="controls"></video>

兼容性写法:

<video width="320" height="240" controls>
    <source src="movie.mp4" type="video/mp4">
    <source src="movie.ogg" type="video/ogg">
</video>

video 常见属性:

属性描述
autoplayautoplay视频就绪自动播放(谷歌浏览器需要添加 muted 属性)
controlscontrols想用户显示播放控件
width像素设置播放器宽度
height像素设置播放器高度
looploop循环播放
preloadauto(预先加载视频),none(不应加载视频)规定是否预加载视频(如果有autoplay 就忽略该属性)
srcurl视频URL地址
posterimgurl加载等待的画面图片
mutedmuted静音播放

(3)音频标签audio

音频标签兼容性:

浏览器MP3WavOgg
Internet Exploreryesnono
Chromeyesyesyes
Firefoxyesyesyes
Safariyesyesno
Operayesyesyes

语法:

<audio src="文件地址" controls="controls"> </audio>

兼容性写法:

<audio controls="controls">
    <source src="happy.mp3" type="audio/mpeg">
    <source src="happy.ogg" type="audio/ogg">
</audio>

audio 常见属性:

属性描述
autoplayautoplay音频就绪自动播放
controlscontrols想用户显示播放控件
looploop循环播放
srcurl音频URL地址

3.2 input 表单

input 类型:

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

表单属性:

属性说明
requiredrequired表单拥有该属性表示某内容不能为空
placeholder提示文本表单的提示信息,存在默认值将不显示
autofocusautofocus自动聚焦属性,页面加载完成自动聚焦到指定表单
autocompleteoff / on当用户在字段开始键入时,浏览器基于之前输入过的值,应该显示出在字段中填写的选项。默认已经打开,需要放在表单内,加上name属性,同时成功提交
multiplemultiple可以多选文件提交

标签:Web,07,icomoon,--,元素,font,选择器,CSS,属性
来源: https://blog.csdn.net/qq_51569535/article/details/121404705