美文网首页
搜集的资料

搜集的资料

作者: 787518d9b65a | 来源:发表于2018-05-12 02:34 被阅读0次

整理后删除#

  • 目录

    1. position有几种,absolute和relative的区别

    2. display的几个属性,及其区别

    3. display:none与visibility:hidden的区别

    4. 浏览器清除浮动的方式及其原理

    5. 元素垂直居中和水平居中的方法

    6. CSS盒子模型

    7. BFC

    8. src与href的区别

    9. CSS选择器的优先级

    10. 每个HTML的Doctype有什么作用

    11. 如何理解web语义化

    12. SEO

    13. 几种常见的布局的方式及其实现

    14. flex布局

    15. px、em、rem的区别

    16. 为什么要使用css sprites

  1. MDN:CSS position属性

    定位类型

    • 定位元素(positioned element)是其计算后位置属性为 relative, absolute, fixedsticky 的一个元素。

    • 相对定位元素(****relatively positioned element)计算后位置属性为 relative的元素。

    • 绝对定位元素(absolutely positioned element)计算后位置属性为 absolutefixed 的元素。

    • 粘性定位元素****(stickily positioned element)计算后位置属性为 sticky 的元素。

  • static

    该关键字指定元素使用正常的布局行为,即元素在文档常规流中当前的布局位置。此时 top, right, bottom, leftz-index属性无效。

  • relative

    该关键字下,元素先放置在未添加定位时的位置,再在不改变页面布局的前提下调整元素位置(因此会在此元素未添加定位时所在位置留下空白)。position:relative 对 table-*-group, table-row, table-column, table-cell, table-caption 元素无效。

  • absolute

    不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的偏移,来确定元素位置。绝对定位的元素可以设置外边距(margins),且不会与其他边距合并。

    相对定位的元素并未脱离文档流,而绝对定位的元素则脱离了文档流。在布置文档流中其它元素时,绝对定位元素不占据空间。绝对定位元素相对于最近的非 static 祖先元素定位。当这样的祖先元素不存在时,则相对于ICB(inital container block, 初始包含块)。

  • fixed

    不为元素预留空间,而是通过指定元素相对于屏幕视口(viewport)的位置来指定元素位置。元素的位置在屏幕滚动时不会改变。打印时,元素会出现在的每页的固定位置。fixed 属性会创建新的层叠上下文。当元素祖先的 transform 属性非 none 时,容器由视口改为该祖先。

    固定定位与绝对定位相似,但元素的包含块为 viewport 视口。

  • sticky

    盒位置根据正常流计算(这称为正常流动中的位置),然后相对于该元素在流中的 flow root(BFC)和 containing block(最近的块级祖先元素)定位。在所有情况下(即便被定位元素为 table 时),该元素定位均不对后续元素造成影响。当元素 B 被粘性定位时,后续元素的位置仍按照 B 未定位时的位置来确定。position: stickytable 元素的效果与 position: relative相同。

    粘性定位是相对定位和固定定位的混合。元素在跨越特定阈值前为相对定位,之后为固定定位。

    inherit 就不说了

    • inline 一个或多个行内元素盒

    • block 块元素盒

    • list-item 该元素生成一个容纳内容和单独的列表行内元素盒的块状盒。 (加黑点)

    • inline-block 一个块状盒,该块状盒随着周围内容流动,如同它是一个单独的行内盒子(表现更像是一个被替换的元素)

    • inline-table inline-table值在HTML中没有对应元素。它的行为就像一个HTML中的table元素,但是作为内联框,而不是块级框。 表格框内是一个块级上下文。

    • table

    • table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group

    • Flexbox模型值

      • flex

      • inline-flex

    • 栅格盒模型值

      • grid

      • inline-grid

    • Ruby(东亚文字注音或注释)格式化模型值

    • run-in

    • contents

    • box:在元素上设置该属性,可使其子代排列在同一水平上,类似display:inline-block;。

    • flow-root

  1. display:none关闭一个元素的显示(对布局没有影响);其所有后代元素都也被会被关闭显示。文档渲染时,该元素如同不存在。

    visibility: visible隐藏元素,但是其他元素的布局不改变,相当于此元素变成透明。要注意若将其子元素设为 visibility: visible,则该子元素依然可见。

  2. 清除浮动的四种方式及其原理理解

    几种常用的清除浮动方法

  3. 元素垂直居中和水平居中的方法

    知乎

    博客

  4. CSS盒子模型

    框模型

    外边距合并

    box-sizing

    CSS栅格系统与弹性盒模型:实践比较
  5. 块格式化上下文

    块格式化上下文(Block Formatting Context,BFC) 是Web页面的可视化CSS渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素的交互限定区域。

    下列方式会创建块格式化上下文

    • 根元素或包含根元素的元素

    • 浮动元素(元素的 float 不是 none

    • 绝对定位元素(元素的 positionabsolutefixed

    • 行内块元素(元素的 displayinline-block

    • 表格单元格(元素的 displaytable-cell,HTML表格单元格默认为该值)

    • 表格标题(元素的 displaytable-caption,HTML表格标题默认为该值)

    • 匿名表格单元格元素(元素的 displaytable、``table-rowtable-row-group、``table-header-group、``table-footer-group(分别是HTML table、row、tbody、thead、tfoot的默认属性)或 inline-table

    • overflow 值不为 visible 的块元素

    • display 值为 flow-root 的元素

    • contain 值为 layoutcontentstrict 的元素

    • 弹性元素(displayflexinline-flex元素的直接子元素)

    • 网格元素(displaygridinline-grid 元素的直接子元素)

    • 多列容器(元素的 column-countcolumn-width 不为 auto,包括 ``column-count1

    • column-spanall 的元素始终会创建一个新的BFC,即使该元素没有包裹在一个多列容器中(标准变更Chrome bug)。

    创建了块格式化上下文的元素中的所有内容都会被包含到该BFC中。

    块格式化上下文对浮动定位(参见 float)与清除浮动(参见 clear)都很重要。浮动定位和清除浮动时只会应用于同一个BFC内的元素。浮动不会影响其它BFC中元素的布局,而清除浮动只能清除同一BFC中在它前面的元素的浮动。外边距折叠(Margin collapsing)也只会发生在属于同一BFC的块级元素之间。

  6. HTML中href、src区别

    1.src 是指向物件的来源地址,是引入。在 img、script、iframe 等元素上使用。 2.href 是超文本引用,指向需要连结的地方,是与该页面有关联的,是引用。在 link和a 等元素上使用。

    使用区别: src通常用作“拿取”(引入),href 用作 "连结前往"(引用)。

    [图片上传失败...(image-f2be04-1526063599539)]

  7. CSS选择器的优先级

    优先级

    还有书上的

    下面列表中,选择器类型的优先级是递增的:

    1. 类型选择器(type selectors)(例如, h1)和 伪元素(pseudo-elements)(例如, ::before)

    2. 类选择器(class selectors) (例如,.example),属性选择器(attributes selectors)(例如, [type="radio"]),伪类(pseudo-classes)(例如, :hover)

    3. ID选择器(例如, #example)

    通配选择符(universal selector)(*), 关系选择符(combinators) (+, >, ~, '') 和 否定伪类(negation pseudo-class)(:not()) 对优先级没有影响。(但是,在 :not() 内部声明的选择器是会影响优先级)。

    给元素添加的内联样式 (例如, style="font-weight:bold") 总会覆盖外部样式表的任何样式 ,因此可看作是具有最高的优先级。

    当在一个样式声明中使用一个!important 规则时,此声明将覆盖任何其他声明。虽然技术上!important与优先级无关,但它与它直接相关。

    使用 !important 是一个坏习惯,应该尽量避免,因为这破坏了样式表中的固有的级联规则 使得调试找bug变得更加困难了。当两条相互冲突的带有 !important 规则的声明被应用到相同的元素上时,拥有更大优先级的声明将会被采用。

    一些经验法则:

    • 一定要优化考虑使用样式规则的优先级来解决问题而不是 !important

    • 只有在需要覆盖全站或外部 css(例如引用的 ExtJs 或者 YUI )的特定页面中使用 !important

    • 永远不要在全站范围的 css 上使用!important

    • 永远不要在你的插件中使用 !important

      取而代之,你可以:

    1. 更好地利用CSS级联属性

    2. 使用更具体的规则。在您选择的元素之前,增加一个或多个其他元素,使选择器变得更加具体,并获得更高的优先级。

  8. 每个HTML的Doctype有什么作用

## 定义和用法

<!DOCTYPE> 声明必须是 HTML 文档的第一行,位于 <html> 标签之前。

<!DOCTYPE> 声明不是 HTML 标签;它是指示 web 浏览器关于页面使用哪个 HTML 版本进行编写的指令。

在 HTML 4.01 中,<!DOCTYPE> 声明引用 DTD,因为 HTML 4.01 基于 SGML。DTD 规定了标记语言的规则,这样浏览器才能正确地呈现内容。

HTML5 不基于 SGML,所以不需要引用 DTD。

提示:请始终向 HTML 文档添加 <!DOCTYPE> 声明,这样浏览器才能获知文档类型。
  1. 如何理解web语义化
**语义化**。那么什么叫做语义化呢,说的通俗点就是:明白每个标签的用途(在什么情况下使用此标签合理)比如,网页上的文章的**标题**就可以用标题标签,网页上的各个栏目的**栏目名称**也可以使用标题标签。文章中内容的段落就得放在**段落标签**中,在文章中有想强调的文本,就可以使用 em 标签表示强调等等。

讲了这么多语义化,但是语义化可以给我们带来什么样的好处呢?

\1\. 更容易被搜索引擎收录。

\2\. 更容易让屏幕阅读器读出网页内容。

[知乎](https://www.zhihu.com/question/20455165)

[参考](https://blog.csdn.net/li2274221/article/details/25188497)

[参考2](http://www.html5jscss.com/html5-semantics-section.html)

## New Semantic Elements in HTML5

Many web sites contain HTML code like: <div id="nav">  <div class="header">  <div id="footer"> to indicate navigation, header, and footer.

HTML5 offers new semantic elements to define different parts of a web page:

*   `<article>`

*   `<aside>`

*   `<details>`

*   `<figcaption>`

*   `<figure>`

*   `<footer>`

*   `<header>`

*   `<main>`

*   `<mark>`

*   `<nav>`

*   `<section>`

*   `<summary>`

*   `<time>`

[图片上传失败...(image-de67dd-1526063599539)] 

* * *
  1. SEO(Search Engine Optimization)
[wiki](https://zh.wikipedia.org/wiki/%E6%90%9C%E5%B0%8B%E5%BC%95%E6%93%8E%E6%9C%80%E4%BD%B3%E5%8C%96)

[百度](https://baike.baidu.com/item/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E4%BC%98%E5%8C%96/3132?fr=aladdin)

[谷歌](https://support.google.com/webmasters/answer/35291?hl=zh-Hans)

但是经过多年的搜索引擎算法的调整,现在较重要的影响标签为:

*   `<title>`

*   `<meta>`

*   `<h1>`

*   `<img>`中的 alt属性
  1. 几种常见的布局的方式及其实现
position

float

流动

网格

圣杯

flex

[圣杯布局、双飞翼布局、Flex布局和绝对定位布局的几种经典布局的具体实现示例](https://blog.csdn.net/wangchengiii/article/details/77926868)
  1. flex布局
[Flex 布局教程:语法篇](http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html)
  1. px、em、rem的区别
[基于vw等viewport视区单位配合rem响应式排版和布局](http://www.zhangxinxu.com/wordpress/2016/08/vw-viewport-responsive-layout-typography/)

px是固定像素,em是相对父元素字体大小的百分比,比如div设成15px,div的子节点1em就是15px,2em就是30px。 rem和em差不多,但是是相对于[html元素](https://www.baidu.com/s?wd=html%E5%85%83%E7%B4%A0&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1dWm1Khm1wbmvnvuyRLrjnk0ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHnsn1nYn1bLnHbYP1m4n164rf)(文档根元素document.documentElement)而不是父元素。

[彻底弄懂css中单位px和em,rem的区别](http://www.cnblogs.com/leejersey/p/3662612.html)

[综合指南: 何时使用 Em 与 Rem](https://webdesign.tutsplus.com/zh-hans/tutorials/comprehensive-guide-when-to-use-em-vs-rem--cms-23984)
  1. 为什么要使用css sprites
CSSSprites在国内很多人叫css精灵,是一种网页图片应用处理方式。它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来,当访问该页面时,载入的图片就不会像以前那样一幅一幅地慢慢显示出来了。对于当前网络流行的速度而言,不高于200KB的单张图片的所需载入时间基本是差不多的,所以无需顾忌这个问题。

[翻译 – 高性能网站需避免的7个错误](http://www.zhangxinxu.com/wordpress/2011/11/seven-mistakes-that-make-websites-slow/)

**合并图片为Sprites**

CSS Spriting已经变成主流技术。其做法是将很多个公共图片合并为一个大的图片文件,然后你通过CSS控制位置让图片需要的地方显示。于是,告别N多图片,现在只有一个。

事先提醒一句,这个技术的维护是很折腾的,因为即使是个很小的更改也要更新整个图片以及CSS,甚至是HTML。幸运的是,CSS spriting自动化工具如[SpriteMe](http://spriteme.org/), [Compass](http://compass-style.org/help/tutorials/spriting/), [Yottaa](http://www.yottaa.com/web-performance-optimization)

相关文章

  • 资料搜集

    starta:一个新的VC机构,原先成立了一个SPV基金,主要做将东欧技术授权到美国并孵化的优质企业,这次要通过I...

  • 资料搜集

    文章 Spring Boot干货系列:(十)开发常用的热部署方式汇总JRebel非常6,重载很好用,可以节省开发时...

  • 搜集的资料

    整理后删除# 目录position有几种,absolute和relative的区别display的几个属性,及其区...

  • 搜集的资料

    XMPPFramework开发(三):http://aes.jypc.org/?p=53158 XMPPFrame...

  • 搜集资料

    2018年9月6号 星期四,阴 我看上一份资料很久了,遗憾的是到目前为止我还得不到它,我的内心可是十分的渴望得到它...

  • 尼斯DBA在职博士课程:如何找到适合自己的学术参考资料

    资料搜集和文献回顾成为DBA学习之余的重要任务,本文分享学术信息资料的搜集渠道,以期提高研究人员搜集资料的质量与效...

  • 尼斯大学DBA在职博士招生:如何找到适合自己的学术参考资料

    资料搜集和文献回顾成为DBA学习之余的重要任务,本文分享学术信息资料的搜集渠道,以期提高研究人员搜集资料的质量与效...

  • 我和我的硕士论文战斗史

    论文的的完整过程,无非就是搜集资料,整理资料,开题答辩,搜集资料,整理资料,论证过程,论文送审,论文答辩。最核心的...

  • 如何搜集资料?

    见 搜集资料的能力同时要把握两点:1)足量;2)节制。 做到足量资料收集又有两个标准; 1)你的主动性:资料收集达...

  • 患了资料搜集症

    这周报考了雅思,2 个月之后参加 考试,自己顺利地成了一只『烤鸭』。同时也心疼近 2000 块钱的报名费。那些刷雅...

网友评论

      本文标题:搜集的资料

      本文链接:https://www.haomeiwen.com/subject/egqcdftx.html