本文是从简书复制的, markdown语法可能有些出入, 想看"正版"和更多内容请关注 简书: 小贤笔记

整个前端开发的工作流程

  1. 产品经理提出项目需求
  2. UI出设计稿
  3. 前端人员负责开发静态页面(跟前端同步的后台人员在准备数据)
  4. 前后台的交互
  5. 测试
  6. 产品上线(后期项目维护)

互联网原理

  1. 当用户在浏览器输入网址的时候,就会发送到对应的服务器,请求该网址对应的网页信息
  2. 服务器会把该网址对应的网页资源,都下载到你电脑的临时文件夹
  3. 临时文件夹中的资源,通过浏览器显示出来(所以,我们第二次请求网站的时候,速度会快很多)

元素

  • 行内元素:一行中有n多个行内元素,行内元素不能设置宽和高
  • 块元素:一个块元素,独自占一行;
  • 行内块元素:一行中可以有多个行内块元素,但是可以设置宽和高

html骨架结构

  • !DOCTYPE..文档声明头(html5,html4.01,XHTML)
  • 在html4.01和XHTML中各有3个小规范
    1. strict 严谨的
    2. transitional 普通的
    3. frameset 框架
  • html:超文本标记语言;里面用的都是"标签对儿"
    1. head
    • meta(charset:UTF-8,GB2312)
    • <meta name="description" content="要描述的内容"/>
    • <meta name="keywords" content="关键字,关键词"/>

      (以上两个meta都是为了SEO优化)

    • <title>页面的标题</title>
    1. body
    • 标题

      <h1></h1><h2></h2>
    • 段落 p:虽然p是块元素,但是他里面放的也是图片,文字;
    • span:里面用来放文本:图片,文字;
    • a链接
      <a href="要跳往的地址"

      >

    • 图片
      <img src="相对地址/绝对地址"
  • css:写在 里面
    • 样式的基本语法:
      选择器(div){
      key:value
      }
    p{height:40px;line-height:40px;background-color:red;
    }
    • 选择器:

      1. 标签选择器:div,h,p,a,img,span
      2. class选择器:.xinxi
        (千万不要用汉字和数字开头做为class名,一定要用英文)

html更多解读

  • html只考虑标签嵌套,跟tab和空格无关,无数个空格,也只算作一个
  • 图片标签
    [图片上传失败...(image-fd7aaf-1518537900016)]
    • 相对路径:以当前页面为出发点查找的;(./ 或 不写,找到父级../)
    • 绝对路径:都是以http开头的;例如:http://i1.piimg.com/567571/f3f79e8903424ea4.jpg
    • 图片标签上有两个常用属性,src属性:引入图片地址; alt标签:图片无法正常加载时,用来替代的文字;(alt也可以省略)
  • a链接常用的属性
    1. href:'要跳往的地址',href的作用
    • 可以填写绝对路径,跳到直到的网页
    • 可以写#:1)不确定地址的时候 2)简单的回到顶部效果
    • 利用锚点进行页面切换
    1. title:鼠标移上时的提示
    2. target:打开方式(默认的_self当前页面打开; _blank新页面打开)
    3. 这些属性中,title和target都可以省略;
  • a链接的锚点使用
    1. 本页面各个模块之间的相互跳转
    <div id="#div1"></div>
    <a href="#div1"></a>

    2 实现不同页面之间,不同模块的相互跳转

    <a href="detail.html#detail1"></a>

列表

  • 无序列表:无序列表中的li也是容器;
<ul><li></li><li></li>
</ul>
  • 有序列表
<ol><li></li><li></li>
</ol>
  • 定义列表:dl,dt,dd都是容器
<dl><dt>表头</dt><dd>详情介绍</dd>
</dl>

表单

  • 表单用
  • 输入文本框
    <input type="text" placeholder="默认提示"/>
  • 输入密码
    <input type="password" placeholder="默认提示"/>
  • 单选按钮:单选按钮组,一定要加上name,否则无法实现单选效果;
<input type="radio" name="sex"/>男
<input type="radio" name="sex"/>女
  • 多选框

    <input type="checkbox" checked/>
  • 下拉单

<select><option name="city" value="bj">北京</option><option name="city" value="sh">上海</option><option name="city" value="sz">深圳</option>
<select>
  • name和value主要用于前端向后台提交数据;
  • id:
    1. 设置样式(不建议)
    2. 在JS阶段,用来获取元素
    3. id配合a链接,进行锚点设置;
  • 留言框:
    <textarea name="" value="" cols="" rows=""></textarea>

按钮

  • 普通按钮 type=button
  • 提交按钮 type=submit
  • 重置按钮 type=reset

选择器

  • 标签选择器:div h1~h6 p span a img ul li ol dl dt dd input select

添加一个小icon的步骤:

  • 到官网上去取图片(以京东为例):

    1. https://www.jd.com/favicon.ico
    2. 把以上图片另存为,存到电脑中
    3. 注意:把icon图标放到文件夹的"根目录";
    4. 在html页面中加入:
      <link rel="icon" href="favicon2.ico" type="image/x-icon"/>

一个完整的页面由三部分构成:

  • html:超文本标记语言

    • 通过语义化标签,搭建页面"结构"
  • css:层叠样式表
    • 负责页面"样式",美化页面的
  • js:轻量级的脚本语言;交互指的是两个地方(行为)
    • 前端自己在页面上写的"动效"
    • 前后台的"数据交互"
      结构,样式,和行为三者相结合

css的引入方式

  1. 嵌入式;(内嵌式)
<style>body{height:100%;background-color: red;}
</style>
  1. 行内样式
<body style="height:100%; background: #333333">
  1. 外链式(真正的开发,用的都是外链)
<link rel="stylesheet" href="style.css"/>

css的优先级

  • 行内>内嵌>外链

css常见属性和样式

  • 当设置错误的时候,在chrome的控制台,会有黄色的叹号,进行提示
  • color:颜色值; 颜色有三种表示方法
    快捷键:c tab

    • 用英文:red
    • rgb(255,0,0)
    • #fff
  • font-size:字体大小
    • 快捷键:fsz30->font-size:30px

      font:400 14px/28px "宋体";
  • background:添加背景
    图片默认是横向重复和纵向重复

    • 位置:

      • 横向位置:left center right
      • 纵向位置:top center bottom
    • 综合写法:
      background: url("images/bg2.png") no-repeat left center red;
      • background-image:url("图片地址")
      • background-repeat:no-repeat; /repeat-x;/repeat-y
      • background-position:0 0
      • background-color:red
  • 字体是否倾斜
    • font-style:italic 倾斜/ normal 正常
  • 下划线和删除线
    • text-decoration: line-through; 删除线
    • text-decoration: none; 去除下划线
    • text-decoration: underline;添加下划线

css中的选择器:

  • 1.标签选择器:div p ul li dt dd em i u del strong b input label from table

    • 缺点:只能进行共性的操作,无法个性操作
  • 2.class选择器
  • 3.id:
    • .class名

      ,同一个页面能有无数个相同的class名

    • #id名

      ,同一个页面只能有一个ID名;(ID名是不能重复的)

    • 在真正的开发过程中,class是用来设置样式的,id是用来获取元素
    <div class="div1 div2 div3" id="div1"></div>
  • 4.后代选择器:div p(把div容器下,子子孙孙的p元素都选择上了)
  • 5.子选择器:div > p(选择div容器下的儿子);兼容IE7
  • 6.交集选择器: div.div1
  • 7.并集选择器:div,p
  • 8.通配符*:代表所有的元素
  • 9.序选择器:兼容IE8
    • div > p:first-child
    • div > p:last-child
  • 10.下一个兄弟选择器 ul li li{} 兼容IE7

开发常用的浏览器

  • chrome
  • IE7~11
  • firefox

CSS的继承性和层叠性

  • 以font开头的属性都能够继承;line-height
  • color可以继承
  • text开头的也可以继承,比如text-align

css权重

  • !important权重无穷大;(少用为好)
  • id的权重大于class的权重

css盒子模型

  • css盒子模型由5部分:

    • 内容的宽高 padding border margin
  • 单行文本的居中:height = line-height
  • 多行文本的居中,padding和line-height
  • padding:
    • padding是内边距
    • padding的颜色和内容的颜色一致;background-color填充的是border以内的颜色
    • padding是复合值
      padding:30px; ->pl30; pt30;pr30;pb30
      padding:20px 30px; ->上下为20px 左右30px
      padding:10px 20px 30px; -> 上10px 左右20px 下30px
      padding:10px 20px 30px 10px; 上 右 下 左

      如果现设置padding:30px
      再设置padding-left:10px
      请问最后的值各是多少?
      左10px; 其他都是30px

  • margin:外边框
  • border:
    • border:1px solid #000;
    • border-width
    • border-style:solid(实体),dashed(虚线),dotted(点)
    • border-color

行内元素和块级元素

  • p标签虽然是文本标签,但是它可以当容器来使用,p标签内一定不能放div; p段落也是块元素,他独占一行
  • 文本元素:p span a i em u b strong img
  • 容器级:div li dt dd h级(不建议)
  • 除了p,所有的文本元素,都是行内元素
  • 所有容器级别的元素,都是块元素
  • 块和行内元素的相互转化
    • display:inline; //行内
    • display:inline-block;//行内块
    • display:block; //块
  • 关于定位:大部分情况,建议的是:父相子绝(父亲:相对定位,儿子:绝对定位)
  • 关于脱离文档流的方法
    • 浮动 float:left; float:right;
    • 绝对定位 position:absolute;
    • 固定定位 position:fixed;
    • 重点:1)父相子绝 2)行内元素一点脱离文档流,就可以设置宽高了;
    • 注意:行内元素,一旦脱离文档流,虽然能设置宽高,但是,如果不设置宽的话,会默认跟内容一样宽;而块级元素,如果不设置宽度的话,默认跟父级一样块,没有父级的话,默认跟屏幕一样宽
  • 清除浮动
    • 固定高度height:xxxpx;
      缺点:如果作为产品列表的容器展示,我们无法知道容器的具体高度
    • overflow:hidden
      1. 溢出隐藏
      2. 清除浮动
        缺点:如果父容器比较小,子容器比较大;父容器如果通过overflow:hidden来清除浮动的话,子容器就看不到了
    • clear:both
      缺点:可以解决浮动引起的文档流错乱问题,但是上面浮动元素的父容器该没有高度还没有高度
    • 伪类清除浮动
    ul::after{display: block;height:0;content: '';clear: both;
    }
  • 透明度处理
    • rgba() 背景透明,文字不透明;
    • opacity:0 背景透明,文字也透明;
    opacity:0.1;/*不兼容IE7浏览器*/
    filter:alpha(opacity=10);

最基本的开发,首先必须创建的项目结构

  • images文件夹:放切好的图片
  • css文件夹:放置css文件:index.css
  • index.html文件

关于继承

  • 宽度继承:如果没有父级,块元素的宽度默认跟可视区一样宽;如果有父级的情况下,默认跟父级宽度一样宽(宽度可以继承,但高度无法继承;)
  • font可以继承
  • color可以继承:当遇到a标签的时候, color无效;
  • line-height可以继承

当文本超度固定宽度的处理方法:

  • 单行文本出超固定宽度出现省略号的写法:
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis
  • 英文不折行的问题处理:

    word-wrap:break-word;
  • 出现滚动条的写法

    overflow-y:scroll;

区分伪类和伪元素

  • 伪元素:用:和::都可以,现在建议用::
  • 伪类:给当前选择器添加动效,只能用:

HTML/CSS 知识点相关推荐

  1. 这些HTML、CSS知识点,面试和平时开发都需要 No10-No11

    系列知识点汇总 1.基础篇 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5- ...

  2. Web前端css知识点概括

    Web前端css知识点的简单概括如下,方便记忆. 1.字体,背景(font-style,font-weight,font-size/line-height,font-family...backgrou ...

  3. css 动态rem_【面试题】CSS知识点整理(附答案)

    目录 伪类和伪元素 实现固定宽高比(width: height = 4: 3)的div,怎么设置 CSS选择器 CSS解析规则 flex: 1 完整写法 display: none和 visibili ...

  4. css知识点笔记-常见特性

    css知识点范围:常见特性 颜色值缩写:#000000=#000,#336699=#369两两重复就能缩写: 字体缩写:只要缩写必须要有size和family这两个属性,font-size和line- ...

  5. css知识点笔记-常用属性

    css知识点范围:常用属性 删除线:text-decoration : line-through 下划线:text-decoration : underline 斜体:font-style : ita ...

  6. css就近原则_细品100道CSS知识点(上)「干货满满」

    作者:hh_phoebe 转发链接:https://juejin.im/post/5ee0cf335188254ec9505381 目录 细品100道CSS知识点(上)[干货满满]本篇 细品100道C ...

  7. 保姆级教程 CSS 知识点梳理大全,超详细!!!

    保姆级教程 CSS 知识点梳理大全,超详细!!! ✴️大家好,我是王同学,好久不见,趁着假期王同学把CSS 知识点梳理了一遍 ✴️如果对你有帮助就给我点个赞吧,这样我们就互不相欠了 ✴️星光不负赶路人 ...

  8. 1.HTML,CSS知识点

    HTML,css知识点是暑假根据网课学的,每天整理的知识点,刚开通博客,上传留作备份,方便查询. 转载于:https://www.cnblogs.com/keshuai752100461/p/8484 ...

  9. 学习HTML+CSS知识点

    Html+css知识点 1.HTML HTML(Hypertext Markup Language)超文本标记语言.它负责网页的三个要素之中的结构.HTML使用标签的的形式来标识网页中的不同组成部分. ...

  10. html+css知识点全面总结(三)

    前期文章: html+css知识点总结回顾(一) html+css知识点总结回顾(二) html+css知识点总结回顾(三) 文章目录 html+css知识点总结回顾(三) 1.标签的嵌套(拓展) 2 ...

最新文章

  1. 关于如何准备一份制胜简历的清单
  2. QT的QSpinBox类的使用
  3. 史上最详细的MySQL操作事例
  4. c++ new一个结构体_C语言结构体,又一个纸老虎,纯干货讲解(附代码)
  5. 简单排序--冒泡排序
  6. 关于VC预定义常量_WIN32,WIN32,_WIN64等预定义宏的介绍(整理、转载)
  7. 怎样查阅电脑最大能够扩充多大的内存
  8. PHP集成腾讯云短信SDK
  9. java 牙位图插件_牙医的骄傲-智能牙位图中文医疗应用app全球排名No.1
  10. html 文本框选中状态,JavaScript onselect 事件:文本框中的文本被选中
  11. 微信商户平台 扣款测试规则
  12. 猫、路由器和交换机的区别和联系
  13. 2020中国隧道与地下工程大会(CTUC)暨中国土木工程学会隧道及地下工程分会第二十一届年会
  14. 《认知与设计——理解UI设计准则》笔记(1) 我们感知自己的期望
  15. vba 读取linux换行符,【VBA研究】清除字符串中的回车换行符
  16. html标签em和i的区别,HTML中strong与b,em与i标签的区别和使用建议
  17. 【Python】 标准差计算(std)
  18. socket编程之accept()函数
  19. sklearn的predict_proba
  20. 四旋翼飞行器建模与PID控制器设计(MatlabSimulink)

热门文章

  1. ASP.NET Core MVC 之依赖注入 Controller
  2. python学习笔记:第19天 类的约束、异常、MD5和logging
  3. react.js从入门到精通(一)
  4. extjs中Store和grid的刷新问题
  5. Scramble String -- LeetCode
  6. 求一架构 : 保留历史数据
  7. mysql semi-synchronous_MySQL Semisynchronous Replication介绍
  8. python中matplotlib画图_Python-matplotlib画图(莫烦笔记)
  9. zendguard php5.4,ZendGuardLoader6.0.0支持PHP5.4.x系列
  10. PyTorch的13个必知必会知识点