黑马程序员技术交流社区
标题: 前端基础之基础贴 [打印本页]
作者: King汀 时间: 2019-6-7 12:20
标题: 前端基础之基础贴
本帖最后由 King汀 于 2019-6-7 12:41 编辑
不知不觉,从5月18预科班开始到现在已经过去半个多月,这期间,在黑马学习到了很多学校里没有学到的东西,收获了很多,下面总结下这半个月的重难点。
一、HTML51.HTML是超文本标记语言,不是编程语言。
2.Web标准不是一个标准而是一系列的标准:
结构标准(html) ---- 搭建页面的结构
表现标准/样式标准(css)---- 页面样式的美化
行为标准(javascript)--- 实现页面的交互效果
3.标签主要分为单标签和双标签,其中制作网页比较多的是div标签和span标签。
div标签布局标签,主要是布局用的大标签,也是主要标签;
特点:没有语义,独占一行;
span标签布局标签,不用来做主要布局,一般放特殊效果的文字或者小图标;
特点:没有语义,一行共存多个。
4.路径分为绝对路径(不推荐使用)和相对路径。相对路径又分为同级路径、下级路径和 上级路径。
同级路径:文件(html文件和css文件)和目标文件在同一个目录文件下面平级存在,可以直接书写目标文件名称(如果是图片就直接书写图片名称);
下级路径:文件(html文件和css文件)和存放目标文件的父级是平级存在,可以先书写目标文件的父级名称+/+目标文件名称;
上级路径:存放文件(html文件和css文件)的父级和存放目标文件的父级是平级关系,我们可以直接以 ../ 表示上一级去查找目标文件路径;
5.锚点定位可以实现页面内部跳转。
实现方法:先找到目标,想要跳转到的位置添加id=”id名称”,然后设置锚点按钮,超链接a,<a href=”#id名称”>跳转到目标</a>。
6.表格(table),用于数据处理,展示数据。里面只能嵌套tr和caption标签。
7.列表分为无序列表(ul)、有序列表(ol)和自定义列表(dl)。
8.表单由提示文本、表单、表单域组成,用于搜集用户信息,并提交到后台。
Input控件属性:
01、value 默认值,没有交互效果
02、placeholder占位符 html5的新属性,有交互效果
03、name给当前的数据起一个名字,让后台工作人员调用
常见的input表单控件(改变type值实现)
01、文本框:input的type取值为text;
02、密码框:input的type取值为password;
03、单选按钮:type=”radio” ,想要实现单选效果,需要给input标签设置相同的name设置归为一类;
04、复选按钮:type=”checkbox”,也可以设置同样的name名称,但是不会影响多选的效果;
单选按钮和复选框的默认选中:checked=”checkde”;
05、普通按钮:input的type取值为button,必须要自己设置value值;
06、提交按钮:input的type取值为submit,可以设置自己的value值也可以用默认的;
07、重置按钮:input的type取值为reset,可以设置自己的value值也可以用默认的;
08、图片按钮:input的type取值为image,<input type=“image“ src=”图片路径” />必须书写查找图片路径;
09、文件域:<input type=”file” /> 上传文件使用;
9.label标签:提高用户体验,扩大input表单的可操作性,点击文字可以直接将光标定到输入框,不是表单标签。
使用方法:
01、用label直接包括input表单
02、用for 属性规定 label 与哪个表单元素绑定 ----
<label for=”man”>男</label>
<input type=”radio” name=”sex” id=”man” />
10. select下拉列表:一对select标签嵌套多对option标签,selected=”selected”表示默认选中。
11. form表单域标签,被用于定义表单域,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。
默认属性:
01、action=“url地址” ----- 用于指定接收并处理表单数据的服务器程序的url地址。
02、method=“ 提交方式” ---- 取值 get/post,get是明文提交,post是密文提交;
03、name=“名字” 设置不同的取值名称用于后台提交。
二、CSS3 1.引入css样式表的三种方式:行内式(内联样式)、内部样式表(内嵌式)、外部样式表(外联式)。
2.Css选择器分为两类:基础选择器和高级选择器(复合选择器)。
基础选择器:标签选择器、类选择器、id选择器、通配符选择器。
复合选择器:后代选择器、子元素选择器、交集选择器、并集选择器、链接伪类选择器。
3.文字控制属性
文字颜色:color
文字大小:font-size
文字字体:font-family 取值可以取一个或者多个,如果取多个值要用英文的逗号隔开,表示先找第一个字体如果没有就往后面查找,依次类推;
字体加粗:font-weight
字体样式(风格):font-style
文本水平居中:text-align: center;
文本的行高:line-height
文本首行缩进:text-indent
文本线条装饰:text-decoration
font复合属性:font: 是否倾斜 是否加粗 文字大小/行高 字体;
行高:line-height
4.标签显示模式
块级元素:自己独占一行,设置宽高能够生效,也可以控制外边距和内边距, 默认的宽度是父级的100%。是一个容器盒子,里面可以放行内或者块元素,p/h/dt这种文字类块级标签,里面尽量不能放其他块级元素。常见的块级元素:div/p/h1-h6/ul/li/dl/dt/dd;
行内元素:一行可以共存多个,设置宽高不生效,一般宽高是自己本身的内容撑开,行内元素里面最好只放文本或者其他的行内元素,超链接里面不能嵌套超链接。常见的行内元素:span /a/u/s/del/strong/em/i /ins等;
行内块元素:行内块元素可以一行共存多个,能够设置宽高并且生效; --- 常见的行内块元素: img /input/t'd等。
将元素转化为块级元素:display:block;
将元素转化为行内元素:display:inline;
将元素转化为行内块元素:display:inline-block;
5.background属性
背景颜色:background-color
背景图:background-image
背景平铺:background-repeat
图片定位:background-position
背景图片固定:background-attachment:fixed;
背景颜色半透明:background:rgba(0,0,0,透明度);
背景的复合写法:background:背景颜色 url() 平铺方式 是否固定 X轴 Y轴;
6.Css的三大特性:层叠性(覆盖性)、继承性、优先级。
7.text-align: center详解
实际的意思是让文本在父级盒子里居中显示,实际工作中text-align: center;不仅可以让文字居中,也可以让行内元素(a、span、b、strong、u、i、s、em、ins),行内块元素(img、input、button)在父级盒子中居中;
注意:想要元素利用text-align: center;居中显示,必须要有一个父级盒子;
让盒子居中的条件
01、盒子的显示模式必须为块级元素
02、盒子必须要有固定的宽度
03、利用margin:上下 auto;/ margin:auto;/ margin-left:auto; margin-right:auto;
text-align: center;和margin:auto;的区别
01、margin只能让块级元素居中显示,而且必须要有固定的宽度
02、text-align: center;本来的意思是让文本居中,实际也可以让行内元素、行内块元素居中显示,如果想要用text-align: center;让行内元素和行内块元素居中,我们必须要有一个父级元素将行内元素和行内块元素包裹起来,然后设置父级盒子的text-align: center;,但是实际工作中我们不建议这么使用;
8.并列垂直外边距合并
两个盒子如果垂直排列(上下排列),上面的盒子设置了marin-bottom,下面的盒子设置了margin-top,最终显示的样式两个值谁大就显示谁;解决方案:不要同时设置,只给一个盒子设置即可。
9.嵌套垂直外边距合并
如果两个盒子有嵌套包含的父子级关系,如果给子级盒子设置了margin-top,效果显示父级盒子也会跟着掉下来;
解决方案:
01、为父级设置上边框(不用)
02、直接给父级设置padding-top:1px,如果父级有高度注意减去对应的高度;(不推荐使用);
03、直接给父级添加overflow:hidden;(常用方法,利用了overflow:hidden;强制区分了父子级关系)
04、用浮动/固定定位/绝对定位也能解决。
10. 网页布局的三种机制:普通流、浮动、定位。
11. 实际工作中的导航布局:
01、ul嵌套li嵌套a
02、给li设置固定的宽高(如果文字不一样多我们可以不设置宽度,用padding撑开
03、给li设置float:left;让li在一行显示
04、如果想要鼠标经过a有一些样式,将a用display:block;转化为块元素,设置宽高和li一致;
12. 清除浮动
01、额外标签法
在浮动元素的末尾(找到最后浮动的盒子)添加一个空的标签:
<div style=“clear:both;”></div>(不建议使用)
02、父级加overflow属性法
直接给父级添加overflow:hidden;,强制的撑开父级的高度;
03、after伪元素法(推荐使用)
/*声明清除浮动的样式*/
.clearfix:after {
content: "";
display: block;
height: 0;
visibility: hidden;
clear: both;
}
.clearfix {
*zoom: 1; /*ie6,7 专门清除浮动的样式*/
}
04、双伪元素清除浮动
/*声明清除浮动的样式*/
.clearfix:before ,.clearfix:after {
content: "";
display: table;
}
.clearfix:after {
clear:both;
}
.clearfix {
*zoom: 1; /*ie6,7 专门清除浮动的样式*/
}
谁里面有浮动就在谁的开始标签身上添加class=“clearfix”
13. css属性书写顺序
01、布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)
02、自身属性:width / height / margin / padding / border / background
03、文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word
04、其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …
14. 定位模式分为:相对定位、绝对定位、固定定位。
15. 定位的盒子居中对齐
问题描述:如果盒子的显示模式为块元素,而且有固定的宽度我们可以直接用margin:auto;让盒子水平居中;如果盒子定位了margin:auto;不会生效,那我们如何让定位的盒子居中显示?
01、如果用了相对定位position: relative;盒子还是可以同margin: auto;居中;
02、那么如果用了绝对定位position: absolute;和固定定位position: fixed;盒子就不能使用margin:auto;居中显示:
解决方案:
设置定位盒子的left :50%; 设置盒子的margin-left:-自己的宽度的一半,让盒子水平居中;
设置定位盒子的top :50%; 设置盒子的margin-top:-自己的高度的一半,让盒子垂直居中;
16. banner 滚动图片的布局思路
一个父级盒子作为总体的大盒子
01、滚动的图片用ul>li>a实现
02、两侧箭头用span/div实现(父绝子相)
03、切换的小圆点用ol>li实现(子绝父相将ol进行定位,然后将里面的li浮动控制外边距)
17. 实现固定定位盒子跟随版心定位
left:50%;
margin-left:版心宽度的一半 + 盒子自己的宽度 + 随意的间距值;
18. vertical实现图片和文字垂直对齐
vertical-align:middle;让行内元素、行内块元素垂直居中,如果不生效,可以直接给父级盒子添加对应行高即可;
19.去除图片底侧空白缝隙
Html中插入图片的时候由于默认是基线对齐,会出现底部留白的效果,解决方案如下:
01、直接给图片添加img{vertical-align:middle/top;}属性实现基线对齐;
02、直接将图片的显示模式更改为块级元素img{display:block;}
20. 溢出的文字省略号显示
01、让文字强制一行显示white-space:nowrap;
02、让超出范围的文字隐藏overflow:hidden;
03、隐藏的内容以省略号显示;text-overflow:ellipsis;
21. 网站优化三大标签: 标题title、关键词keywords、关键描述description。
22. logo的优化做法:
01、首先放一个h1 标签,目的是为了提权,告诉搜索引擎,这个地方很重要;
02、然后h1里面放一个链接,可以返回首页的, 给链接一个大小、logo 的背景图片,链接里面要放文字(网站名称),为了搜索引擎收录我们。 但是文字不能显示出来,要用 text-indent 移到盒子外面 (text-indent: -9999px) 然后overflow:hidden;(淘宝);或者直接用font-size: 0;(京东)就看不到文字了
03、最后给链接一个 title,这样鼠标放到logo上, 就可以看到提示文字了。
23.tab选项卡布局思路
一个父级盒子固定宽高,里面嵌套上下两个盒子,上面的盒子放tab的导航,下面的盒子放tab的内容盒子,注意:我们有几个导航内容就有几个内容盒子,然后让内容盒子全部隐藏,但是让其中的一个显示(给它添加一个行内样式style="display: block;")
24.实体化三属性:宽 width、高 height、背景 background。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |