24-hour前端基础补充计划

HTML & CSS

元素

  • 文档流中的元素分为两类:行内(inline/内联)和块级(block)元素
    • 行内元素不能设置宽高、上下内外边距(即margin-top/margin-bottom/padding-top/padding-bottom),只能由内容决定;实际上设置上下内边距时会影响background的范围,但不会影响文本的位置
    • 位于正常文档流的元素上下块级元素的外边距会发生外边距折叠(margin collapsing)

盒模型

从box-sizing属性看盒模型。
box-sizing:content-box | border-box
对于content-box,width=内容框;对于border-box,width=内容+padding+border。

浮动

什么是浮动?
浮动原本用于让文本围绕图片或文本周围(常见于报纸杂志中那种效果)但由于正常文档流是纵向排列,传统上浮动常用于进行多列(横向)布局。
浮动引发的副作用
设置浮动的元素故名思义会脱离normal flow,其父元素的高度将无法被撑起(这往往不是我们想要的结果)而且会造成其后未设置float原本希望处于float元素之下单独占行的元素的内容围绕在浮动元素周围。
如何解决浮动带来的副作用
清除(clear)和闭合(enclose)浮动。
所谓清除浮动就是在float元素其后的元素添加clear属性,让其不会围绕浮动元素左右。闭合浮动就是把浮动元素的父元素撑起来。具体说来方法有

  1. 在其后元素上设置clear属性为both/left/right
  • 其后元素包括使用伪元素选择器after添加虚拟元素,并设置高度为0,使其不可见,下面的content的属性值是啥都无所谓啦
.wrapper:after{
  content:'\0020';
  height:0;
  display:block;
}
  • 或者添加额外无意义的元素
<div>
  <div style="float:left">这里是内容</div>
  <!-- 比如这种 -->
  <div style="clear:both"></div> 
  <!-- 或是这种 -->
  <br clear="all"/>
</div>
  1. 闭合元素的方法基本原理就是在父元素上创建一个BFC(block formatting context) ,包括将父元素也变成浮动元素,或者添加overflow属性值非默认visible的值(一般为hidden)
  • 块格式化上下文简单说来就是一个虚拟的矩形区域,这个区域包含其内部包括浮动元素在内的所有元素
    注:使用inline-block就不会出现需要清除浮动的问题,不过如果要[支持ie6和ie7]需要额外的工作,具体做法参见MDN;使用inline-block时,vertical-align会影响其显示,一般需要设为top

定位

定位有五种,static/relative/absolute/fixed和sticky。

  • static就默认啦,正常文档流中
  • 设置relative后,通过调节tblf(top/bottom/left/right)可以让元素保留原本位置的同时悬浮于其他内容之上。一般单独使用,将元素设为其他子元素的参考包含块。
  • absolute与relative的差别在于,设置absolute会让元素脱离文档流,一般搭配tblf和在某相对定位的祖先元素使用。例如下拉菜单,弹出框。(注意,若没有相对祖先元素,则相对初始包含块,即视口,初始包含块包括html元素,不是body元素)
  • fixed与absolute的区别在于,fixed不是相对于其包含块,而是视口(如浏览器窗口),同样与tblf结合使用。
  • sticky属性可以让元素有两种混合表现,跟随正常流的元素一起运动以及运动到tblf指定的位置固定。打个比方,就像是在tblf指定的位置上隔了一层网,sticky元素无法穿过这层网。

flex布局

传统上可以兼容各浏览器的布局使用float和positioning,flex布局提供了一种更简单的布局方式,可以实现传统布局难以/无法实现的布局,例如垂直居中元素。
了解flex布局要记得几个概念,主轴(主轴起点/终点)、交叉轴(交叉轴起点/终点)。在容器添加属性display: flex,其内部元素就会按flex方式布局;通过 flex-direction可以指定主轴方向为row/column
作为容器的元素属性值还有

  • align-items (在交叉轴上的位置,对于其控制的个体可以用flex-start/flex-end调整align-self的值)
  • justify-content (内容对齐,主轴方向,center/space-around/space-between)
  • flex-flow(flex-direction主轴方向 flex-wrap多余内容是否换行)
    在容器内的元素常用的属性包括
  • flex:数字 最小值(flex-grow flex-basis)
  • order: 调整元素出现的位置(默认值为0,可以设负值)

display:none和visibility:hidden区别

前者不占空间,后者仍占空间。

使用较新的属性,例如box-sizing时要加前缀,保证其跨浏览器显示

*{
  -webkit-box-sizing: border-box;
     -moz-box-sizing: border-box;
          box-sizing: border-box;
}

*注:webkit内核的浏览器包括谷歌,Safari等;moz代表火狐等

媒体查询

@media screen and (min-width: 600px){
  /* 窗口大于600px的样式*/
}
@media screen and (max-width: 599px){
  /* 窗口小于599px的样式*/
}

布局模型
布局模型分三种:流/浮动/层模型,大概了解三个概念的意思就行。流模型就是我们熟知的文档流/正常流,浮动就是使用float属性的布局方式,层模型就是使用position相关属性的布局方式,注意z-index只有应用于定位元素(非static)才有效

布局

Photoshop切图学习

[慕课视频源地址](https://www.imooc.com/video/9818

PS小技巧

  • 新建项目:宽1920*2000 72 设置为预设参数(中间的视区1200)
  • 快速选择图层:选择工具,上方确定为图层,Ctrl+Click- - 选择元素即会自动跳转至相应元素图层。
  • 视图:打开智能参考线和 标尺
  • 需要保存的窗口设置:图层,历史记录,信息和字符(需要从窗口找到打开)-> 字符单位改成像素、RGB,- - 打开文档大小
  • 文件->首选项->单位和标尺:都改为像素
  • 将上述设置保存为工作区

快捷键
shift 往往与加有关
alt 与减有关
v 选择工具
m 选区工具
ctrl+d 删除选区
内容识别功能 会把选取与选区外的环境融合
alt+delete 前景色填充
ctrl+R 打开标尺

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

推荐阅读更多精彩内容

  • 一、浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 特征:1、浮动模型是一种可视化格式...
    青鸣阅读 976评论 0 0
  • 本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 声明 本系列文章内容全部梳理自以下四个来源: ...
    请叫我大苏阅读 673评论 0 5
  • 浮动 CSS允许浮动任何元素。 浮动元素 首先,会以某种方式将浮动元素从文档的正常流中删除,不过它还是会影响布局。...
    exialym阅读 1,214评论 0 6
  • 学习CSS的最佳网站没有之一 http://www.w3school.com.cn/tags/index.asp ...
    Amyyy_阅读 1,038评论 0 1
  • 以下文章是我在网上收集的内容,为了记录自己的学习以及为了以后不到处找而记录下来,如果对你有用,请感谢写这些文章的前...
    DCbryant阅读 931评论 0 2