HTML
HTML
网页设计有许多应用场景和日常使用案例,以下是一些常见的:
- 企业官网:企业可以通过网页官网展示公司的信息、产品、服务等内容,提高知名度和品牌形象。
- 电子商务平台:在线商店或电商平台可以通过网页设计来展示商品、促销活动、购物车和结账等功能,方便用户浏览和购买商品。
- 社交媒体平台:社交媒体如Facebook、Twitter、Instagram等需要提供一个易于使用、吸引人的界面,以便用户分享内容、与朋友互动。
- 博客和新闻网站:博客网站和新闻网站需要具备良好的读取性能、排版和页面设计,以便读者更好地阅读文章和获取信息。
- 教育和培训网站:教育和培训机构通过网页设计来呈现课程、学习资源、教师介绍等内容,在线辅导和互动等功能也需要进行良好的设计。
- 政府和公共服务机构:政府和公共服务机构利用网页设计来提供公共服务、政策法规、信息发布等功能,方便民众获取所需的信息和服务。
- 游戏和娱乐网站:游戏和娱乐网站需要吸引用户的注意力,提供游戏、视频、音乐等娱乐内容,同时也需要良好的用户体验和易用性。
这些只是一小部分网页设计的应用场景和日常使用案例。随着技术的不断发展和创新,新的应用场景和使用方式将不断涌现。
外部样式表
1 | HTML |
基础样式
text
test-align(文本对齐)
1 | div { |
text-decoration(文本装饰)
1 | div { |
text-indent(文本缩进)
1 | div { |
em
是一个相对单位,就是当前元素(font-size)1个文字的大小,如果当前元素没有设置大小,则会按照父元素的1个文字大小。
line-height(行间距)
flex:1(比例布局)
1 | .container{ |
transition(动画过渡)
1 | .img{ |
transition + ease-in
ease-out
慢进 慢出
CSS快速改变原生颜色
1 | input[type=checkbox]{ //单选框 |
background(图片)
1 | CSS |
calc(动态计算)
1 | .box{ |
::before & ::after(伪元素)
1 | .content::before{ //在头部插入文本 |
Emmet语法
1.1快速生成HTML结构语法
生成标签直接输入标签名按tab键即可比如div然后tab键,就可以生成
如果想要生成多个相同标签加上
*
就可以了比如div*3就可以快速生成3个
div`如果有父子级关系的标签,可以用
>
比如u>
就可以了如果有兄弟关系的标签,用
+
就可以了比如div
+p
如果生成带有类名或者id名字的,直接写
.demo
或者#two tab
键就可以了如果生成的
div
类名是有顺序的,可以用自增符号$
1 | <div> + tab ==> <div></div> |
CSS的复合选择器
1.1后代选择器
后代选择器 又称为包含选择器,可以选择元素里面子元素。其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。
1 | /*-HTML*/ |
1.2 子元素选择器
子元素选择器(子选择器),只能选择作为某元素的最近一级子元素
1 | /*HTML*/ |
1.3 并集选择器
1 | /*-HTML*/ |
1.4 链接伪类选择器
1 | a:link /*选择所有未被访问的链接*/ |
==注意:==
为确保生效,请按照LVHA顺序声明:link --> :visited --> :hover --> :active
1.5 focus伪类选择器
1 | CSS |
元素显示模式
HTML元素一般分为块元素
和行内元素
两种类型.
1.块元素
常见的块元素有<h1>~<h6>、<p>、<div>、<ul>、<ol>、<i>
等,其中<div>
标签是==最典型的块元素==。
块级元素的特点:
- 比较霸道,自己独占一行。
- 高度,宽度、外边距级内边距都可以控制
- 宽度默认是容器(父级宽度)的100%。
- 是一个容器及盒子,里面可以放行内或者块级元素
注意:
2.行内元素
常见的行内元素有<a>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>、<span>
等,其中
标签是最典型的行内元素。有的地方也将行内元素称为内联元素。
行内元素的特点:
- 相邻行内元素在一行上,一行可以显示多个。
- 高、宽直接设置是无效的。
- 默认宽度就是它本身内容的宽度。
- 行内元素只能容纳文本或其他行内元素。
注意:
- 链接里面不能再放链接。
- 特殊情况链接里面可以放块级元素,但是给转换一下块级模式最安全。
3.行内块元素
在行内元素中有几个特殊的标签一、、,它们同时具有块元素和行内元素的特点。有些资料称它们为行内块元素
。
行内块元素的特点:
- 和相邻行内元素(行内块)在一行上,但是他们之间会有空白缝隙。一行可以显示多个(行内元素特点)。
- 默认宽度就是它本身内容的宽度(行内元素特点)。
- 高度,行高、外边距以及内边距都可以控制(块级元素特点)。
1 | /*显示模式的转换: |
⭐盒子模型⭐
网页布局的本质
网页布局的过程:
- 先准备好相关的网页元素,网页元素基本都是盒子box
- 利用CSS设置好盒子的样式,然后摆放到相应位置
- 往盒子里面装内容
核心本质:
就是利用CSS摆盒子
组成部分
所谓盒子模型:就是把HTML页面中的布局元索看作是一个矩形的盒子,也就是一个盛装内容的容器。
CSS盒子模型本质上是一个盒子,封装周围的HTML元素,它包括:边框、外边距、内边距、和实际内容
边框
1 | border:border-width || border-style || border-color |
属性 | 作用 |
---|---|
border-width | 定义边框粗细 |
border-style | 边框的样式 |
border-color | 边框颜色 |
1 | div{ |
border-style | 作用 |
---|---|
solid | 实线 |
dashed | 虚线 |
dotted | 点线 |
double | 双线 |
1 | 边框简写: |
文字垂直居中
CSS没有给我们提供文字垂直居中的代码.这里我们可以使用一个小技巧来实现
解决方案:让==文字的行高等于盒子的高度==就可以让文字在当前盒子内垂直居中
1 | height: 40px; |
内边距
padding属性用于设置内边距,即边框与内容之间的距离
属性 | 作用 |
---|---|
padding-left | 左内边距 |
padding-right | 右内边距 |
padding-top | 上内边距 |
padding-bottom | 下内边距 |
复合写法
外边距
margin属性用于设置外边距,即控制盒子和盒子之间的距离
属性 | 作用 |
---|---|
margin-left | 左外边距 |
margin-right | 右外边距 |
margin-top | 上外边距 |
margin-bottom | 下外边距 |
块元素水平居中
外边距可以让块级盒子水平居中,但是必须满足两个条件:👍
- 盒子必须指定了宽度(width)。
- 盒子左右的外边距都设置为auto。
1 | CSS |
外边距合并
1.相邻块元素垂直外边距的合并
当上下相邻的两个块元素(兄弟关系)相遇时,如果上面的元素有下外边距margin-bottom,下面的元素有上外边距margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和。取两个值中的较大者这种现象被称为相邻块元素垂直外边距的合并。
嵌套块元素垂直外边距的塌陷
当父子元素同时设置相同外边距
背景
背景图片
background-image属性描述了元素的背景图像。实际开发常见于logo或者一些装饰性的小图片或者是超大的背景图片,优点是非常便于控制位置(精灵图也是一种运用场景)
1 | background-image:; |
简写顺序:
background: 背景颜色 背景图片地址 背景平铺 背景图像滚动 背景图片位置;
上 | 中 | 下 | 左 | 右 |
---|---|---|---|---|
top | center | bottom | left | right |
背景颜色
透明度由0~1.
1 | background-color:rgba(0,0,0,透明度); |
CSS三大特性
层叠性
相同选择器给设置相同的样式,此时一个样式就会盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题层雪性原侧:
- 样式冲突,遵循的原则是就近原测,哪个样式离结构近,就执行哪个样式
- 样式不冲突,不会层叠
继承性
优先级
选择器 | 选择器权重 |
---|---|
继承 或 * | 0,0,0,0 |
元素选择器 | 0,0,0,1 |
类选择器,伪类选择器 | 0,0,1,0 |
ID选择器 | 0,1,0,0 |
行内选择器 | 1,0,0,0 |
!important | ∞ |