前端基础知识复习(一)

CSS

选择器

在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。

基本类型分为如下几种:

类型 例子 解释
元素选择器 通配合选择符(*)
类选择符(.)
id选择符(#id)
...
对标签的选择
关系选择器 包含选择符(E F)
子选择符(E>F)
相邻选择符(E+F)
...
标签与标签之间的关系是否满足
属性选择器 E[att]
E[att="val"
E[att~="val"]
...
标签的属性值是否等于待定值
伪类选择器 E:link
E:hover
E:active
..
标签的的当前状态,选中,悬浮等
伪对象选择器 E:befor
E:after
...
作用于块级对象,在元素前后,或者开始结束定义特殊样式

详细文档

基础知识

block(块级元素)和 inline(内联元素) 的区别

div这样的块级元素,就会自动占据一定矩形空间,可以通过设置高度、宽度、内外边距等属性,来调整的这个矩形的样子;

像“span”这样的行内元素,则没有自己的独立空间,它是依附于其他块级元素存在的,因此,对行内元素设置高度、宽度、内外边距等属性,都是无效的。

| 类型|解释 | 例子 |区别|
| --- | --- | --- |---|---|
| 块元素(block element) |一般是其他元素的容器元素,块元素一般都从新行开始,它可以容纳内联元素和其他块元素,常见块元素是段落标签'P。"form"这个块元素比较特殊,它只能用来容纳其他块元素。 | div、dl、form、p、...|block表现出来的特点是折行的.|
| 内联元素(inline element)| 一般都是基于语义级(semantic)的基本元素。内联元素只能容纳文本或者其他内联元素,常见内联元素"a"。|a、em、img、input、span、...|inline表现出来是不换行的|
| 可变元素| 需要根据上下文关系确定该元素是块元素或者内联元素。可变元素还是属于上述两种元素类别,一旦上下文关系确定了他的类别,他就要遵循块元素或者内联元素的规则限制。可变元素为根据上下文语境决定该元素为块元素或者内联元素。|map、button、del、...|给一个元素加入了浮动(float)的话.不管是block还是inline定义了浮动之后,可以定义高度,宽度.|

常忘的

常常弄不清的布局几个概念

absolute
生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
fixed
生成绝对定位的元素,相对于浏览器窗口进行定位。
元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
relative
生成相对定位的元素,相对于其正常位置进行定位。
因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
inherit 规定应该从父元素继承 position 属性的值。

如果希望对象为可视,其父对象也必须是可视的。
- box-sizing:属性可以为三个值之一:content-box(default),border-box,padding-box。
    - content-box,border和padding不计算入width之内
    - padding-box,padding计算入width内
    - border-box,border和padding计算入width之内
    
- overflow:复合属性。**检索或设置对象处理溢出内容的方式。**overflow的效果等同于overflow-x + overflow-y。
对于table来说,假如table-layout属性设置为fixed,则td对象支持带有默认值为hidden的overflow属性。如果设为hidden,scroll或者auto,那么超出td尺寸的内容将被剪切。如果设为visible,将导致额外的文本溢出到右边或左边(视direction属性设置而定)的单元格。
- visibility:设置或检索是否显示对象。与display属性不同,此属性为隐藏的对象保留其占据的物理空间
- **对float的理解**:float在绝对定位和display为none时不生效。感觉对于布局还是有点蒙蔽。这里有篇[CSS float 浮动属性](http://www.cnblogs.com/polk6/archive/2013/07/25/3142187.html)。值得看看!
    - 页面布局方式,主要包含:文档流、浮动层、float属性。
    - 1.1 文档流
        - HTML页面的标准文档流(默认布局)是:从上到下,从左到右,遇块(块级元素)换行。
    - 1.2 浮动层
        - 浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框。而此浮动元素在文档流空出的位置,由后续的(非浮动)元素填充上去:块级元素直接填充上去,若跟浮动元素的范围发生重叠,浮动元素覆盖块级元素。内联元素:有空隙就插入。
    - 1.3 float 属性介绍
        -   left :元素向左浮动。
        -   right :元素向右浮动。
        -   none :默认值。
        -   inherit :从父元素继承float属性。
        对比图如下:
        
        
| 样式 |  图片|  |
| --- | --- | --- |
| 正常情况 |  ![](http://upload-images.jianshu.io/upload_images/664334-c06dea2b374e9a70.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)|  |
||||

### 基本元素

  1. <input>标签:主要用于收集用户信息,可根据不同的type属性值,拥有多种形式。
  2. <select>标签:可创建单选或多选菜单,类似于winform的combox或listbox。
  3. <textarea>标签:多行文本区域。
  4. <label>标签:相当于一个展示文本框。
  5. <fieldset>标签:类似于winform中的groupBox控件。
  6. 列表标签:介绍ul、ol、li。


|标签  | 说明 |实例  |
| --- | --- | --- |
| input标签 |input 标签用于搜集用户信息。  | ![](http://upload-images.jianshu.io/upload_images/664334-a67ad19256e7c2ac.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)  |
|select|可创建单选或多选菜单,类似于winform的combox或listbox。|![](http://upload-images.jianshu.io/upload_images/664334-3487db69e104f637.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)|
|textarea|多行文本区域,可以通过 cols 和 rows 属性来设定 textarea 的尺寸。|![](http://upload-images.jianshu.io/upload_images/664334-4503ab64a318a5ba.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)|
|label|相当于一个展示文本框。|![](http://upload-images.jianshu.io/upload_images/664334-a54cbccd55877013.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)|
|fieldset|类似于winform中的groupBox控件。|![](http://upload-images.jianshu.io/upload_images/664334-1e02db531513a9c4.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)|
|ul、ol、li|ul :unordered list (无序列表)<br>ol :ordered list  (有序列表))<br>li :list item (列表项目),基于上面2个列表子项目。<br>|![](http://upload-images.jianshu.io/upload_images/664334-6df9c822c5e4ad22.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)|

### HTML iframe 和 frameset 的区别

| 标签 |说明  |实例  |属性|
| --- | --- | --- | --- |
| iframe  |iframe 是个内联框架,是在页面里生成个内部框架。  |  ![](http://upload-images.jianshu.io/upload_images/664334-6135fe007d27f329.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)|frameborder {int}:是否显示框架的边框;<br> src {URL}:指定一个资源(如网页、图片)的uri;<br>scrolling {boolean}:是否显示框架的滚动条;<br>width {int}:定义iframe的宽度;<br>height {int}:定义iframe的高度;|
|frameset |frameset 定义一个框架集,包含多个框架,每个框架都有独立的文档。|![](http://upload-images.jianshu.io/upload_images/664334-1158a6975d16b647.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)||

### HTML name、id、class 的区别

|  类型 | 格式 |应用场景  |
| --- | --- | --- |
| name |` <input type="text" name="username" /> `|  ①form表单:name可作为转递给服务器表单列表的变量名;如上面的传到服务器的名称为:username='text的值'。<br>②input type='radio'单选标签:把几个单选标签的 name设为一个相同值时,将会进行单选操作。<br>快速获取一组name相同的标签:获取拥有相同name的标签,一起进行操作,如:更改属性、注册事件等<br>|
|id|`<input type=password id="userpwd" />`|①根据提供的唯一id号,快速获取标签对象。如:document.getElementById(id)<br>|
|class|指定标签的类名`<input type=button class="btnsubmit" />`|CSS操作,把一些特定样式放到一个class类中,需要此样式的标签,可以在添加此类。|



### 框架类型
和iOS一样(学习前端完全可以对比客户端开发进行学习)分为UI框架和代码框架。而服务端的框架更多的是代码级别的框架。

界面框架:Bootstrap、Foundation、Semantic UI
代码框架:React、Angulerjs、Backbone、vuejs
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,716评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,558评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,431评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,127评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,511评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,692评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,915评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,664评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,412评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,616评论 2 245
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,105评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,424评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,098评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,096评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,869评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,748评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,641评论 2 271

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,630评论 1 92
  • 1.行内元素和块级元素?img算什么?行内元素怎么转化为块级元素? 行内元素:和有他元素都在一行上,高度、行高及外...
    极乐君阅读 2,305评论 0 20
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,088评论 0 1
  • 本文转发自github, 原文地址 前端开发知识点: 作为一名前端工程师,无论工作年头长短都应该掌握的知识点: 此...
    XDUZ阅读 598评论 0 8
  • 呐,人最难的是面对自己,接受自己,然后超越自己。 下篇文章要放个大招。
    德川亮阅读 238评论 0 1