Loading

每日思考(2020/08/16)

题目概览

  • 对HTML5的ruby标签的理解
  • display有哪些值
  • 把Script标签放在页面最底部的</body>之前和之后有什么区别
  • Git的reset和revert有什么区别

题目解答

对HTML5的ruby标签的理解

  • <ruby> 标签定义 ruby 注释(中文注音或字符),在东亚使用,显示的是东亚字符的发音

  • <ruby> 标签与 <rt>rp标签一起使用:<ruby> 元素由一个或多个需要解释/发音的字符和一个提供该信息的 <rt> 元素组成,还包括可选的 <rp> 元素,定义当浏览器不支持 ruby 元素时显示的内容

    <ruby>
      汉 <rp>(</rp><rt>Han</rt><rp>)</rp>
      字 <rp>(</rp><rt>zi</rt><rp>)</rp>
    </ruby>
    

display有哪些值

/* <display-outside> values */
display: block;
display: inline;
display: run-in;

/* <display-inside> values */
display: flow;
display: flow-root;
display: table;
display: flex;
display: grid;
display: ruby;

/* <display-outside> plus <display-inside> values */
display: block flow;
display: inline table;
display: flex run-in;

/* <display-listitem> values */
display: list-item;
display: list-item block;
display: list-item inline;
display: list-item flow;
display: list-item flow-root;
display: list-item block flow;
display: list-item block flow-root;
display: flow list-item block;

/* <display-internal> values */
display: table-row-group;
display: table-header-group;
display: table-footer-group;
display: table-row;
display: table-cell;
display: table-column-group;
display: table-column;
display: table-caption;
display: ruby-base;
display: ruby-text;
display: ruby-base-container;
display: ruby-text-container;

/* <display-box> values */
display: contents;
display: none;

/* <display-legacy> values */
display: inline-block;
display: inline-table;
display: inline-flex;
display: inline-grid;

/* Global values */
display: inherit;
display: initial;
display: unset;

把Script标签放在页面最底部的</body>之前和之后有什么区别

  • HTML 2.0起放在“body标签闭合之后”就是不合标准的,之所以但是浏览器却不会报错,是因为如果在“body标签闭合之后”后再出现script或任何元素的开始标签,都是parse error,浏览器会忽略之前的,即视作仍旧在body内。所以实际效果和写在“body标签闭合之前”之前是没有区别的。所以要么放head标签里,要么放 </body> 之前
  • js 可以操作DOM ,所以浏览器在渲染HTML代码时,遇到<script>标签会先解析所有的js,解析完成之后继续向下解析。所以<script>放在底部最后加载比较好,大多数都是这样的。但是如果你的js会改变全局的样式,比如一个js文件会改变所有的字体,那就应该放在前了,让它优先解析

Git的reset和revert有什么区别

  • git reset:将某次提交后的版本全部抹除;通常,在与他人协作开发时,将已经提交到远端的更改 reset 回去不是一个好主意。如果执意要这么做,那么 push 时应该加上 -f 选项用本地内容强制覆写远端

    O ------> O ------> O                                   O ------> O
    ^         ^         ^            --[git reset HEAD^]--> ^         ^
    版本 A    版本 B    版本 C [HEAD]                        版本 A    版本 B [HEAD]
    版本 C 造成的更改直接被抹除了,无法在提交记录上看出。
    
  • git revert:创建一次新的提交,将某次提交的更改撤销;没有绝对的适用场景,也不存在什么最佳实践。符合你需求的就是最好的,或者你的团队用哪种你就用哪种

    O ------> O ------> O                                   O ------> O ------> O -------> O
    ^         ^         ^            --[git revert HEAD]--> ^         ^         ^          ^
    版本 A    版本 B    版本 C [HEAD]                        版本 A    版本 B    版本 C      版本 D [HEAD]
    其中,版本 D 撤销了版本 C 的更改;它与版本 B 的内容是相同的。
    
posted @ 2020-08-16 23:33  澎湃_L  阅读(59)  评论(0编辑  收藏  举报