HTML+CSS基础

编程知识 更新时间:2023-05-02 15:00:55

认识HTML和网页开发

  1. HTML是hyper text Markup language 的缩写,中文是超文本标记语言
  2. W3C(万维网联盟)
    W3C是非盈利的组织,它有四个分部,分别是麻省理工,欧洲数学与信息研究学院,东京庆应大学,北京航天航空大学
    HTML是由w3c制定的一套网页编写标准
  3. HTML4.0 1997年 ;HTML5.0 2014年
  4. 常见的浏览器:欧朋、火狐、谷歌,Safari、IE、edge、QQ浏览器
  5. 网页开发工具,Hbuilder、webstorm、notepad++、ultraedit等

基本标签

html的主题部分
  • <!doctype html>表示html5开发的
  • 之间用来编写网页,告诉浏览器这是个HTML文档
  • 是文档的头部,用来存放元信息,网页标题,样式表等
  • 是网页的主题部分,用来编写网页显示的内容
h1~h6是标题标签

分为六个级别的标题,级别越高,字体越小,效果为文字的粗细和大小发生改变

p标签是段落标签

独占一行,用来划分段落,具有换行的特性,默认16px的上下外边距;
align=”left\center\right”设置文字的水平对齐方式

i标签斜体字标签

em标签也可以把文字设置为斜体,但它对文字有强调效果

b标签是文字加粗标签

strong也具有文字加粗的效果,但它对文字有强调的作用

hr标签是水平分割线

noshade=“noshade”;去除阴影

br标签是强行换行
ul标签是无序列表,搭配li使用

type属性取值disc(实心圆)circle(空心圆)square(实心正方形)

ol标签是有序列表,搭配li使用

type属性取值为1(数字)A(大写英文字母)a(小写英文字母)I(大写罗马字母)i(小写罗马字母)

img标签用来嵌入图片

src=“url地址”
alt=“图像加载失败替换文本”
title=“鼠标放上去时显示的文字”
还有width\height\border等用来设置图像的宽高边框
不同高度的图片是以底部为准进行垂直对齐

a标签是超链接标签

href=“url”
href="#id名”书签链接
href=“mailto:邮箱地址?subject=“邮件内容””
target="_self_blank_parent_top"网页的跳转方式,当前网页,新的网页,
父窗口、包含该链接的窗口
src和href的区别:src引用的资源是不可或缺的,例如img中的src,如果引用失败会导致页面不完整。href表达的是一种关联性,例如超链接关联的页面,理论上来说,即使href地址错误,并不影响当前网页的完整性

<!--xxx-->对HTML进行注释,css要用/xxx/注释

路径问题

绝对路径

本地绝对路径:当前设备上从盘符开始的路径;例如C:/win/hello.html
网络绝对路径:https://xxx/hello.htm

相对路径

相对于当前页面浏览器的所在的位置,看地址栏
file协议,文件访问协议
./相当于当前位置;…/返回上一级

form表单

  1. action属性
    数据提交的服务器地址
  2. method属性
    数据提交方式 get post,get会让提交的数据在地址栏显示

input标签

  1. type:text文本输入框
  2. password密码输入框
    输入内容会自动屏蔽
  3. radio 单选框
    name为一组
  4. checkbox 复选框
  5. submit 提交按钮
  6. reset 重置按钮
  7. date 日期控件
  8. number 数字输入框
  9. file 文件选择
  10. value 代表输入框的内容
    并不是所有的input都需要写value值
  11. placeholder 文本框的默认提示

select下拉文本框

配合option使用,selected表示默认选择

textarea 多行文本输入框

rows行宽 cols列宽,单位为单个文字宽度

table表格

  1. table标签里有thead\tbody\tfoot,其中tbody浏览器会自动生成
  2. tr表示行,td表示列,th表示表头文字加粗居中
  3. cellspacing 单元格之间的间距
  4. cellpadding单元格边框和内容之间的间距
  5. algin 如果写在table,会让表格本身水平居中,如果写在tr中会让tr里的文字内容水平居中;left\center\right
  6. 行合并rowspan
  7. 列合并colspan

容器标签

div

div没有任何显性的作用,仅当做容器使用,用来包裹其它标签,用来区分网页的结构,最重要的是网页区域的划分·
默认宽度100%跟网页保持一致,;高度随内容变化;可以容纳所有标签
div默认独占一行,无论宽度是否被修改

span

span:容器标签,没有宽高,大小随内容大小变化,用来容纳文字内容,无法用来作区域布局

section容器,article容器,aside容器,nav容器,header容器

图片类型

  1. gif
    支持动画 只有256种颜色,只有全透明和不透明两种颜色,颜色失真
  2. png
    png和jpg都是压缩格式
    png采用无损压缩算法,支持背景透明,不支持透明
  3. jpg
    jpg采用有损压缩算法,不支持透明,不支持动画
  4. svg
    svg是矢量图,无论放大多少倍,清晰度都不变,不计算像素,存放形状参数,路径,适合存放形状比较固定的

css层叠样式表(cascading stylesheet)

  1. 写法有三种
    1.直接在元素的标签上添加style属性,将样式内容写在style属性中(行内样式、内联样式)
    2.在页面上编写style标签,将所有样式编写在style标签中(内部样式)
    3.将style标签中的样式内容写在单独的文件中(外部样式)<link rel="stylesheet" tyle="text/css" href="url">
  2. 选择器
    1.ID选择器 #ID号{}
    2.类选择器 .类名{}
    3.标签选择器 标签名{};自定义标签样式也可以生效
    4.属性选择器 input[type=‘number’]{};p[id=‘abc’]=p #abc
    5.通用选择器*{}
    6.组合选择器 input,#box{}
    7.层级选择器
    .box>p{},>表示选取下级的子元素
    .box p{}表示选取所有后代p元素
    8.伪类选择器
    XXX:nth-child(n){}选择xxx元素的第几个
    XXX:nth-child(even){}选择xxx元素的偶数
    XXX:nth-child(odd){}选择xxx元素的奇数
    XXX:hover{};当鼠标划过的时候生效
  • 选择范围越小优先级越高,优先级一样则最后一个执行
  • ID选择器优先级>class选择器>标签选择器>通用选择器
  • ID选择器权值:1000;class选择器:100;标签选择器:10;通用选择器:1;算优先级就是权值相加,越大优先级越高
  1. 属性
    1.背景属性 background
    opacity:0;透明度;
    background-color:rgba(0,0,0,0.5);最后一位是透明度,范围在0~1;
    2.文字属性
    color文字颜色
    font-size文字大小
    text-deroration:none/underline/overline/linthrough文本修饰
    text-indent首行缩进
    font-family字体种类
    font-weight:bold;字体加粗
    3.排列方式
    text-align: left|center|right
    line-height 文字总是会垂直于这一行的中间,当行高和父容器高度一致时,文字就会在容器中垂直居中
    4.边距
    外边距margin ,内边距padding
    5.大小
    width|height
    6.边框
    bolder:1px solid\dotted\dashed red 实线、点线、虚线
    bolder-radius,让边框变椭圆;去掉棱角
    7.列表样式的删除
    list-style:none;
  2. 背景图
    background-image:URL(URL地址)背景图默认是被元素的大小限制的,超出的部分不可见
    background-size:宽高,背景图依然在默认情况下保持宽高比
    background-repeat:no-repeat;不让背景图重复
    background-color:背景色
    background-position:左右 上下,更改背景图的位置
    background-position-x,水平方向;background-position-y,垂直方向
    鼠标拖动图片不变的情况时使用的是背景图
    背景图和背景颜色可以并存,如果图片没有占据整个容器,则依然可以看到背景色
  3. float浮动
    浮动遮不住文字,会形成文字环绕中文以字为单位,英文以单词为单位,中间用空格隔开,单词太长会溢出
    fioat:left/right;向左浮动,向右浮动
    所有浮动元素会水平排列
    浮动元素脱离文档流,不占据页面空间,因此不会与其他元素重叠,但是不会覆盖文字
    当一个宽度100%的容器浮动时,宽度自动改为随内容变化,就是没有了宽度,需要内容撑开
    clear:left\right\both;清除浮动的影响,用来清除平级相邻的元素
    子元素浮动会导致父元素高度塌陷,解决办法让父元素恢复正常:给父元素添加高度或overflow: auto;
  4. 元素的类型
    1.块元素 (h1\div\p)
    可以设定宽高大小,独占一行;
    .行内元素 (span、a超链接、i、b、)
    设置宽高无效,水平排列,当放不下的时候会换行
    3.行内块元素(img,input,表单元素)
    可以设置宽高大小,水平排列
    4.类型转换
    display:block/inline/inline-block;
  5. 盒模型
    1.margin:设置外边距;
    上下外边距会重叠在一起,当大小不一样时,以大的为准,
    左右外边距不重叠
    li默认有40px的左侧内边距,ul默认有16px的上下外边距
    margin:auto;自动调整外边距,水平居中
    2.padding:设置内边距;
    3.设置边框bolder:1px solid\dotted\dashed red ;实线、点线、虚线; border-radius:50%;宽高一样时是圆
  6. overflow
    除了背景图溢出会自动隐藏,
    overflow:hidden;溢出隐藏;
    overflow:scroll;未超出时滚动条不出现,超出时出现滚动条;
    overflow:auto;自动处理超出会有滚动条;不超出没有。
    overflow-x和overflow-y;分别是水平方向和垂直方向;
  7. 常用知识
    CSS统筹:把通用的样式写在一个css文件中
    字体默认大小16px
    box-shadow:0 0 1px black,加阴影
    display:none;不显示,去除物理空间
    opacity:0;透明度
    visibility:hidden;隐藏,物理空间没有去除
    XXX:checked;选择被选中的元素(并不是所有元素都有选中状态)
  8. 精灵图
    XXX:hover{};当鼠标划过的时候生效
    整合小的图片成为一个大图,然后通过调整背景图的位置,来显示其中部分内容
    图片整合的作用是通过减少网络的请求,提高网页的加载效率
  9. overflow
    除了背景图溢出会自动隐藏,
    overflow:hidden;溢出隐藏;
    overflow:scroll;未超出时滚动条不出现,超出时出现滚动条;
    overflow:auto;自动处理超出会有滚动条;不超出没有。
    overflow-x和overflow-y;分别是水平方向和垂直方向;

移动端

物理像素:能支持的最大像素
设备像素:出厂默认的分辨率
dpr设备像素比;物理像素比上默认像素
viewpoint默认宽度980px

rem

如果html{font-size:10px;} 1 rem=20px;
谷歌浏览器支持的最小文字大小为12px;还可以是0;

<script>
	let fontSize = 100 * window.innerWidth / 375;
	window.document.documentElement.style.fontSize = fontSize + "px";
</script>

定位方式

  1. 定位,只有当元素有定位方式的时候,坐标才是生效的;原点默认在页面的左上角
    如果在父元素上有定位方式,则以父元素的左上角为参考系,否则以页面进行定位
  2. 图片是以底部为准对齐的,所以设置行高,只会使底部处于中间位置
  3. 坐标的原点,如果父元素有定位方式,则以父元素为参考系,如果父元素,以及所有的上层元素都没有定位,最终以页面为参考系(页面的左上角)
  4. position:relative;相对于自己的定位,坐标的原点就是自己原来的位置
  5. 相对定位:position:relative;相对于元素原来的位置
    绝对定位:position:absolute;相对于有定位方式的父元素
    固定定位:position:fixed;相对于浏览器窗口
  6. 凡是有定位的元素,层级都比没有定位的高,越靠后出现的层级越高,宽不在是100%,而是跟随内容
  7. vertical-align:top/middle/bottom;垂直对齐方式

伪元素

伪元素,一个没有标签的元素,它的内容由content属性来指定。不能独立存在,必须依附某个真实的元素;伪元素的其它特性和真实元素没有区别,属于行内元素,无法设置宽高大小;生成的伪元素会出现在主元素的内部,相当于它的子元素
xxx::after{}
xxx::before{}
appearance:none;

阴影效果

box-shadow:阴影横坐标 阴影纵坐标 阴影虚化程度 阴影扩展大小 阴影颜色
第一个表示阴影的横坐标
第二个表示阴影的纵坐标
第三个表示阴影的模糊值
第四个表示阴影的扩展值
第五个表示阴影的颜色
第六个表示阴影的方向(向内、向外)

线性渐变

background:linear-gradient(to bottom/to top/to left/to right,#333,#999)
第一个表示渐变的方向
第二个表示开始颜色
第三个表示结束颜色

css动画

  1. 过渡
    transition: 3s;
  2. 变化
    transform:rotateX(45 deg)/rotateY()/rotateZ() translate(45px) scale(1.5);旋转,位移,比例;三种变形效果可以同时叠加,注意编写顺序,会影响执行效果
  3. 透视
    transform:perspective(1000px);写在最开始的位置,否则Chrome不生效,
    给父元素添加透视时,因为视角问题,每个子元素的效果是不同的
    transform-style:preserve-3d;保持3d效果;做3d要把刚开始的透视效果给删掉
  4. 帧动画:
    @keyframs name{
    ​ 0%{}
    ​ 25%{}
    ​ 100%{}
    }

@keyframs name{
​ from{}
​ to{}
}

animation:帧动画名字 3s infinite;

重要

  1. z-index用于确定position不为static的层级
  2. 去掉浏览器给输入框加的动态的外边缘
    outline:none;
  3. 画三角形:width:0;height:0;
    border-top:50px solid black;
    border-left:50px solid transparent;
    border-bottom:50px solid transparent;
    border-right:50px solid transparent;

flex弹性元素

display:flex;flex容器中浮动会失效,vertical-align会失效
justify-content:flex-start;开始对齐
justify-content:flex-end;结尾对齐
justify-content:center;中心对齐
justify-content:space-between;两端对齐
justify-content:space-around;自动分配间隔
flex-direction:row;主轴为x轴,水平排列
flex-direction:column;主轴为y轴,垂直排列
flex容器中,默认是不会换行的,需要换行的话,用flex-wrap:wrap;
flex-wrap:wrap-reverse;向上换行
justify-content:center;align-items:center;其中align-items用来控制交叉轴的对齐方式
flex-grow:数字;扩展比率;对父元素剩余空间进行瓜分;
flex-shrink:数字;元素的多余空间削减比例

文本超出的地方变成省略号

text-overflow: ellipsis;
white-space:nowrap;文字在一行内显示

表单新类型

<input type=“range” min=“0” max=“100” step="2"value=“50”>
范围,最小范围,最大范围,间隔,值

更多推荐

HTML+CSS基础

本文发布于:2023-04-26 20:39:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/9bc137e7e432ca8ba8993ea8205f0015.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:基础   HTML   CSS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 105973文章数
  • 26907阅读数
  • 0评论数