这是我在CSDN上看到的一篇文章中写到的:

电脑上看文章比较吃力主要原因有以下两点:

1.这一点最重要:电脑屏幕大。同样长度的文字,在电脑上可能拉得很宽,但是行数很少,是一个大长条;在手机上就是一个方块。因此,在电脑上看,人的眼球需要转动很大的幅度才能读完一行;而手机上,对于母语汉语来说,可以一扫而过,阅读速度大大提高。其实看纸质文本也是一个道理,我们平时看杂志读报纸,没有哪一页不分栏吧?

2.在电脑上读网页上的文字,很容易分散注意力,因为到处都是超链接,经常要抵御去点它们的冲动,而且看上去很乱。而手机阅读纯文本要简单得多,我们的注意力可以集中在文字以及其所要表达的意义。不过这一点通过控制自己是可以做到的。

3.网页北京色一般为白色,而字体为黑色,对比度过于强烈损伤视力,而且字体大小样式等不可以重设影响阅读效果。

自己写了个JS+CSS的小东西,用来看提升用户体验的。

Name:WindowsTextShow;

做成一个连接:点击后执行JavaScript函数;

Function: WindowsTextShow(Id  div.id);

div.id 为要展示文本的div的ID;

代码如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Untitled Page</title>
  5. <style type="text/css">
  6. #divback
  7. {
  8. width: 100%;
  9. height: expression(body.scrollHeight);
  10. background-color: #000;
  11. position: absolute;
  12. top: 0;
  13. left: 0;
  14. z-index: 49;
  15. display: none;
  16. filter: progid:DXImageTransform.Microsoft.Alphaopacity=25;
  17. filter: alpha(opacity=55);
  18. }
  19. .WindowsTextShow
  20. {
  21. top: expression(documentElement.scrollTop + 50);
  22. left: 50px;
  23. height: expression(documentElement.clientHeight - 50*2);
  24. width: expression(body.clientWidth-50*2);
  25. position: absolute;
  26. z-index: 50;
  27. color: Black;
  28. border: 3px solid #E5E5E5;
  29. background-color: #F0F0F0;
  30. }
  31. .WindowsTextShowFull
  32. {
  33. top: expression(documentElement.scrollTop);
  34. left: 0px;
  35. height: 100%;
  36. width: 100%;
  37. position: absolute;
  38. z-index: 50;
  39. border: 3px solid #E5E5E5;
  40. background-color: #F0F0F0;
  41. }
  42. #textContent
  43. {
  44. padding: 5px;
  45. height: 80%;
  46. overflow: auto;
  47. line-height: normal;
  48. font-size: 14px;
  49. color: Black;
  50. background-color: White;
  51. }
  52. #ctrlSet
  53. {
  54. font-size: 12px;
  55. }
  56. .ctrlSetState
  57. {
  58. display: block;
  59. }
  60. </style>
  61. <script charset="GB2312" language="javascript" type="text/javascript">
  62. var ocolorPopup = window.createPopup();
  63. var ecolorPopup = null;
  64. var isfullScreen = false;
  65. var isRunning = false;
  66. var isCtrlSetShow = true;
  67. var div_box = document.createElement("DIV");
  68. var div_back = document.createElement("DIV");
  69. var textwindowtop = 50 + document.documentElement.scrollTop;
  70. var textwindowleft = 50;
  71. function colordialogmouseout(obj) {
  72. obj.style.borderColor = "";
  73. obj.bgColor = "";
  74. }
  75. function colordialogmouseover(obj) {
  76. obj.style.borderColor = "#0A66EE";
  77. obj.bgColor = "#EEEEEE";
  78. }
  79. function colordialogmousedown(color) {
  80. ecolorPopup.value = color;
  81. if (GetRadioValue("colorType") == "textColor") {
  82. textContent.style.color = color;
  83. }
  84. else if (GetRadioValue("colorType") == "textbackColor") {
  85. textContent.style.backgroundColor = color;
  86. }
  87. else {
  88. divback.style.backgroundColor = color;
  89. }
  90. ocolorPopup.document.body.blur();
  91. }
  92. function colorset() {
  93. if (window.event.keyCode == 13) {
  94. if (iscolor()) {
  95. ecolorPopup.value = document.getElementById("setcolorbox").value;
  96. if (GetRadioValue("colorType") == "textColor") {
  97. textContent.style.color = ecolorPopup.value;
  98. }
  99. else if (GetRadioValue("colorType") == "textbackColor") {
  100. textContent.style.backgroundColor = ecolorPopup.value;
  101. }
  102. else {
  103. divback.style.backgroundColor = ecolorPopup.value;
  104. }
  105. }
  106. ocolorPopup.document.body.blur();
  107. }
  108. }
  109. function iscolor() {
  110. var pattern = /^#[0-9a-fA-F]{6}$/
  111. var objvalue = document.getElementById("setcolorbox").value;
  112. if (objvalue.match(pattern) != null) {
  113. return true;
  114. }
  115. else {
  116. return false;
  117. }
  118. }
  119. function colordialogmore() {
  120. var sColor = dlgHelper.ChooseColorDlg(ecolorPopup.value);
  121. sColorsColor = sColor.toString(16);
  122. if (sColor.length < 6) {
  123. var sTempString = "000000".substring(0, 6 - sColor.length);
  124. sColor = sTempString.concat(sColor);
  125. }
  126. ecolorPopup.value = "#" + sColor.toUpperCase();
  127. //document.body.bgColor="#"+sColor.toUpperCase();
  128. ocolorPopup.document.body.blur();
  129. }
  130. function colordialog() {
  131. var e = event.srcElement;
  132. e.onkeyup = colordialog;
  133. eecolorPopup = e;
  134. var ocbody;
  135. var oPopBody = ocolorPopup.document.body;
  136. var colorlist = new Array(40);
  137. var colordialogw = 158;
  138. var colordialogh = 147
  139. var colordialogx = e.offsetLeft + textwindowleft - 7;
  140. var colordialogy = e.offsetTop + textwindowtop - colordialogh - 10;
  141. oPopBody.style.backgroundColor = "#f9f8f7";
  142. oPopBody.style.border = "solid #999999 1px";
  143. oPopBody.style.fontSize = "12px";
  144. colorlist[0] = "#000000"; colorlist[1] = "#993300"; colorlist[2] = "#333300"; colorlist[3] = "#003300";
  145. colorlist[4] = "#003366"; colorlist[5] = "#000080"; colorlist[6] = "#333399"; colorlist[7] = "#333333";
  146. colorlist[8] = "#800000"; colorlist[9] = "#FF6600"; colorlist[10] = "#808000"; colorlist[11] = "#008000";
  147. colorlist[12] = "#008080"; colorlist[13] = "#0000FF"; colorlist[14] = "#666699"; colorlist[15] = "#808080";
  148. colorlist[16] = "#FF0000"; colorlist[17] = "#FF9900"; colorlist[18] = "#99CC00"; colorlist[19] = "#339966";
  149. colorlist[20] = "#33CCCC"; colorlist[21] = "#3366FF"; colorlist[22] = "#800080"; colorlist[23] = "#999999";
  150. colorlist[24] = "#FF00FF"; colorlist[25] = "#FFCC00"; colorlist[26] = "#FFFF00"; colorlist[27] = "#00FF00";
  151. colorlist[28] = "#00FFFF"; colorlist[29] = "#00CCFF"; colorlist[30] = "#993366"; colorlist[31] = "#CCCCCC";
  152. colorlist[32] = "#FF99CC"; colorlist[33] = "#FFCC99"; colorlist[34] = "#FFFF99"; colorlist[35] = "#CCFFCC";
  153. colorlist[36] = "#CCFFFF"; colorlist[37] = "#99CCFF"; colorlist[38] = "#CC99FF"; colorlist[39] = "#FFFFFF";
  154. ocbody = "";
  155. ocbody += "<table CELLPADDING=0 CELLSPACING=3>";
  156. ocbody += "<tr height=/"20/" width=/"20/"><td align=/"center/"><table style=/"border:1px solid #808080;/" width=/"12/" height=/"12/" bgcolor=/"" + e.value + "/"><tr><td></td></tr></table></td><td bgcolor=/"eeeeee/" colspan=/"7/" style=/"font-size:12px;/" align=/"center/">当前颜色</td></tr>";
  157. for (var i = 0; i < colorlist.length; i++) {
  158. if (i % 8 == 0)
  159. ocbody += "<tr>";
  160. ocbody += "<td width=/"14/" height=/"16/" style=/"border:1px solid;/" onMouseOut=/"parent.colordialogmouseout(this);/" onMouseOver=/"parent.colordialogmouseover(this);/" onMouseDown=/"parent.colordialogmousedown('" + colorlist[i] + "')/" align=/"center/" valign=/"middle/"><table style=/"border:1px solid #808080;/" width=/"12/" height=/"12/" bgcolor=/"" + colorlist[i] + "/"><tr><td></td></tr></table></td>";
  161. if (i % 8 == 7)
  162. ocbody += "</tr>";
  163. }
  164. //ocbody += "<tr><td align=/"center/" height=/"22/" colspan=/"8/" onMouseOut=/"parent.colordialogmouseout(this);/" onMouseOver=/"parent.colordialogmouseover(this);/" style=/"border:1px solid;font-size:12px;cursor:default;/" onMouseDown=/"parent.colordialogmore()/">其它颜色...</td></tr>";
  165. ocbody += "</table>";
  166. oPopBody.innerHTML = ocbody;
  167. ocolorPopup.show(colordialogx, colordialogy, colordialogw, colordialogh, document.body);
  168. }
  169. //-->
  170. function WindowsTextShow(divid) {
  171. if (!isRunning) {
  172. WindowsTextInit(divid);
  173. isRunning = true;
  174. }
  175. SetWindows();
  176. }
  177. function SetWindows() {
  178. textwindowtop = 50 + document.documentElement.scrollTop;
  179. textwindowleft = 50;
  180. div_back.style.display = 'block';
  181. div_back.style.visibility = 'visible';
  182. div_box.style.display = 'block';
  183. div_box.className = "WindowsTextShow";
  184. }
  185. function RefreshWin() {
  186. textwindowtop = 50 + document.documentElement.scrollTop;
  187. textwindowleft = 50;
  188. }
  189. function WindowsTextInit(divid) {
  190. var div_ctrlSet = document.createElement("DIV");
  191. var div_textContent = document.createElement("DIV");
  192. div_ctrlSet.id = "ctrlSet";
  193. div_textContent.id = "textContent";
  194. div_box.id = "WindowsTextShow";
  195. div_box.className = "WindowsTextShow";
  196. div_back.id = "divback";
  197. WindowsTextAddObj(div_box, div_textContent);
  198. WindowsTextAddObj(div_box, div_ctrlSet);
  199. SetObjContent(div_textContent, document.getElementById(divid).innerHTML);
  200. SetObjContent(div_ctrlSet, "<div id='typeSet'>选择更改项:<input checked='checked' name='colorType' type='radio' value='textColor' />文字<input name='colorType' type='radio' value='textbackColor' />背景<input name='colorType' type='radio' value='backGroundColor' />遮盖物</div>");
  201. SetObjContent(div_ctrlSet, "<div id='colorSet'>选择颜色:<input id='setcolorbox' name='sel1' type='text' onkeydown='colorset()' onfocus='colordialog()'/></div>");
  202. SetObjContent(div_ctrlSet, "<div id='fontSizeSet'>选择字体:<select name='select' id='fontslt' onChange='SetFont(textContent)'><option selected>选择阅读字体</option></select></div>");
  203. SetObjContent(div_ctrlSet, "<div id='fullScreenSet'>全屏切换:<input type='button' onclick='FullScreen()' id='fullScreen' name='fullScreen' value='FullScreen'/></div>");
  204. SetObjContent(div_ctrlSet, "<div id='hiddenCtrSet'>隐藏设置:<input type='button' onclick='HiddenCtrlSet()' name='HiddenCtrlSet' value='HiddenCtrlSet'/></div>");
  205. SetObjContent(div_ctrlSet, "<div id='closeSet'>关闭窗口:<input type='button' onclick='CloseWindows()' name='CloseWindows' value='CloseWindows'/></div>");
  206. document.body.appendChild(div_back);
  207. document.body.appendChild(div_box);
  208. SelectAddObj();
  209. }
  210. function HiddenCtrlSet() {
  211. if (isCtrlSetShow) {
  212. document.getElementById("typeSet").style.display = "none";
  213. document.getElementById("colorSet").style.display = "none";
  214. document.getElementById("fontSizeSet").style.display = "none";
  215. document.getElementById("fullScreenSet").style.display = "none";
  216. isCtrlSetShow = false;
  217. }
  218. else {
  219. document.getElementById("typeSet").style.display = "block";
  220. document.getElementById("colorSet").style.display = "block";
  221. document.getElementById("fontSizeSet").style.display = "block";
  222. document.getElementById("fullScreenSet").style.display = "block";
  223. isCtrlSetShow = true;
  224. }
  225. }
  226. function FullScreen() {
  227. if (isfullScreen) {
  228. isfullScreen = false;
  229. textwindowtop += 50;
  230. textwindowleft += 50;
  231. div_box.className = "WindowsTextShow";
  232. document.getElementById("fullScreen").value = "FullScreen";
  233. }
  234. else {
  235. isfullScreen = true;
  236. textwindowtop -= 50;
  237. textwindowleft -= 50;
  238. div_box.className = "WindowsTextShowFull";
  239. document.getElementById("fullScreen").value = "DefaultScreen";
  240. }
  241. }
  242. function GetIEHeight() //函数:获取尺寸
  243. {
  244. var winHeight = 0;
  245. if (window.innerHeight)
  246. winHeight = window.innerHeight;
  247. else if ((document.body) && (document.body.clientHeight))
  248. winHeight = document.body.clientHeight;
  249. if (document.documentElement && document.documentElement.clientHeight && document.documentElement.clientWidth) {
  250. winHeight = document.documentElement.clientHeight;
  251. }
  252. return winHeight;
  253. }
  254. function GetRadioValue(ids) {
  255. var obj = document.getElementsByName(ids);
  256. for (var i = 0; i < obj.length; i++) {
  257. if (obj[i].checked) {
  258. return obj[i].value;
  259. }
  260. }
  261. }
  262. function SetFont(winid) {
  263. if ((fontslt.selectedIndex != -1) && (fontslt.selectedIndex != 0)) {
  264. winid.style.fontSize = fontslt.options[fontslt.selectedIndex].value;
  265. }
  266. }
  267. function SelectAddObj() {
  268. for (i = 9; i < 51; i++) {
  269. var varItem = new Option(i + "pt字体", i);
  270. document.getElementById("fontslt").options.add(varItem);
  271. }
  272. }
  273. function SetObjContent(ids, obj) {
  274. ids.innerHTML += obj;
  275. }
  276. function WindowsTextAddObj(ids, obj) {
  277. ids.appendChild(obj);
  278. }
  279. function CloseWindows() {
  280. div_back.style.display = 'none';
  281. div_box.style.display = 'none';
  282. div_box.className = "WindowsTextShow";
  283. div_back.style.visibility = 'hidden';
  284. isfullScreen = false;
  285. document.getElementById("fullScreen").value = "FullScreen";
  286. }
  287. </script>
  288. </head>
  289. <body>
  290. <div style=" width:900px; height:1400px; background-color:Gray; margin:0 auto;">
  291. <div style=" height:100px; background-color:Red;"></div>
  292. <div style=" height:1200px; background-color:Black;">
  293. <div style="width:75%; float:left;">
  294. <div style="height:100px; background-color:Blue;">
  295. 《跑跑卡丁车》国内运营商裁员超30%
  296. <a href="javascript:WindowsTextShow('textBox')">看文字</a>
  297. </div>
  298. <div id="textBox" style="height:1100px; background-color:White;">
  299. 卡丁车“熄火” 网游冬意渐增
  300.   本报记者 刘方远
  301.   毕业生小王(化名)近日陷入了找工作的奔波之中。不久前,他还以为投身号称“反经济周期”的网游行业,能让他在这轮寒冬中得以自保。
  302.   “公司从这个月初开始裁减人员,陆陆续续几批共约一百多人,占公司总人数的30%到40%。”小王是乐线软件开发(上海)有限公司今年新招的员工,该公司是韩国网游厂商Nexon在中国的分公司,旗下有《跑跑卡丁车》等知名网络游戏。
  303.   据悉,《跑跑卡丁车》在国内休闲游戏领域一直名列前茅,为运营商带来的收入相当可观。由于网游对金融环境具有避风港效应,此前,国内网游厂商纷纷对该行业表示了乐观,乐线软件为何在此刻选择了大幅度“瘦身”?
  304.   12月24日,记者就此事向乐信软件求证,乐线软件管理中心一位韩方负责人向记者表示,公司目前不便对此进行表态。
  305.   战线调整?
  306.   乐信软件的母公司Nexon在国内小有名气,早年盛大网络代理的休闲游戏《泡泡堂》便是出自Nexon之手。看到《泡泡堂》在中国市场的巨大成功后,Nexon随后放弃了与盛大合作,独立成立了乐信软件在中国运营《跑跑卡丁车》等休闲游戏。
  307.   据网游业界知情人士介绍,《跑跑卡丁车》现在的运营平台名为世纪天成,由上海邮通和乐线软件共同搭建,“外界所知的‘世纪天成’实际控制方便是乐线软件。”除了《跑跑卡丁车》外,世纪天成运营的游戏还有《洛奇》、《新天翼之链》、《天关战纪》、《反恐精英Online》等。
  308.   《洛奇》是在国内上线的第一款游戏,但反应平平,但自2006年正式在国内推出《跑跑卡丁车》以来,公司开始出现转机。一位网游业内人士告诉记者,仅跑跑卡丁车一款游戏,最高一个月就能带来近千万收入,不过世纪天成的其它游戏市场表现仍很一般。
  309.   12月12日,世纪天成在《天关战纪》及《新天翼之链》这两款网游官网上同时发出了“终止运营公告”,称这两款游戏的所有服务器都将于12月30日10:00关闭。
  310.   对此,小王告诉记者,这也许就是公司此次缩减员工的原因,因为一些老游戏业绩下滑,公司要转型,加上还有新游戏要上线,所以要做大规模调整。
  311.   另有知情人士告诉记者,世纪天成此次的人员调整涉及大量中高层人员,“很多第一批做《洛奇》、《卡丁车》的人都走了,可能是韩方因经济危机进行的调整。”
  312.   据悉,《反恐精英Online》便是世纪天成近期上市测试的一款新游戏,“虽然这款游戏在韩国的表现并不好,但由于国内有比韩国更多的CS玩家基础,因此这款游戏被他们寄予厚望。”
  313.   网游有没有冬天?
  314.   事实上,一些国际级游戏巨头也开始了“瘦身”。
  315.   12月开始,美国知名游戏开发商EA(艺电)公司宣布,公司将再裁员400人,加上10月份的裁员计划,裁员人数将达1000人,约占员工总数的10%。
  316.   不过,业内专家认为,由于EA主要仍是依靠传统的单机游戏模式,并且面对的是西方成熟市场,因此受经济环境影响较大,而中国的网络游戏市场由于还处在增长阶段,因此受到冲击较小。
  317.   对此,盛大、巨人、第九城市等方面都向记者表达了类似的观点——网游属于廉价娱乐,经济危机导致的收入下降,短期内不太可能影响低消费的娱乐项目,因此并没有看到市场大幅萎缩。
  318.   “对已经上市的大网游企业而言,这轮经济形势带来的影响并不大,一是因为产品已经比较成熟,二是有充足的资金。”第九城市总裁陈晓薇向记者表示,目前九城的重点就是实施多元化的产品策略,完善针对不同需求的分散依赖单一产品线的风险。
  319.   据市场调查公司艾瑞咨询称,中国网络游戏运营商在今年第三季度的收入总和同比增长了50%以上,达到近8亿美元,同时本季度网络游戏市场的增长势头仍很强劲。
  320.   不过,对于没有上市的中小网游厂商而言,日子确实开始变得难过起来,因为小工作室很难再拿到投资,进一步的研发投入断粮后,小工作室的未来将难以为继。一家中型网游公司的负责人告诉记者,“近期一些大的扩张计划都暂时搁浅了,只能依靠已有的游戏维持现状。”
  321. </div>
  322. </div>
  323. <div style="width:25%; float:left;"></div>
  324. </div>
  325. <div style=" height:100px; background-color:Red;"></div>
  326. </div>
  327. </body>
  328. </html>

其实像CSDN这种文章类网站完全应该采用一下,挺实用的。

下面是我做的两个演示,其中一个借用CSDN网站,可以看看如果CSDN加上后的效果。

http://bbs.blueidea.com/thread-2904382-1-1.html

大家可以试试,现在只支持IE我是在IE7下做的,有兴趣的自己可以做css hack,让他支持更多的浏览器。

JS+CSS文章查看系统相关推荐

  1. java 微信文章评论点赞,基于SpringBoot的微信授权登录+仿微信朋友圈+文章查看(评论)系统...

    springboot技术内幕架构设计与实现 53.1元 包邮 (需用券) 去购买 > 本系统是基于Spring Boot 技术实现的文章发布系统,该系统是我和我朋友一起做的,本文仅介绍自己的这部 ...

  2. 怎样在html中插入广告,用div+css+js在文章中间插入广告

    js如下,根据实际情况进行细节调整/// 正文画中画广告 var curUrl = window.location.href; var AdTxt=' try{ var contAd = docume ...

  3. 前端(js/css/html)那些小的知识点,持续更新......

    前端(js/css/html)那些小的知识点,持续更新...... 1.行内元素与块级元素有哪些及区别? 块级元素和行内元素的区别是,块级元素会占一行显示,而行内元素可以在一行并排显示.通过样式控制, ...

  4. 简易 文章发布系统——前台界面

    续 简易 文章发布系统--后台管理系统  源自 慕课网 的学习        关于简易文章发布系统--后台管理系统大致已经制作完毕,但是从安全方面来看,程序质量不高,只适合初学者进行学习开发,掌握ph ...

  5. php js抽奖,JS做出随机抽奖系统

    这次给大家带来JS做出随机抽奖系统,JS做出随机抽奖系统的注意事项有哪些,下面就是实战案例,一起来看一下. 用JavaScript实现一个简单的抽奖系统,有[开始]按钮和[停止]按钮. 功能: - 点 ...

  6. angularJs - cynthia娆墨旧染-响应式文章发布系统

    (0)功能 a.添加新文章 b.修改已发布文章 c.搜索已经发布的文章 d.demo链接:   http://cynthiawupore.github.io/angularJS (1)界面 a.文章列 ...

  7. 基于Echarts+百度地图+Three.js的数据可视化系统

    上周重构项目数据统计部分写了几篇echarts相关的文章,重构的后台前端框架改用Vue,关于Vue中引用Echarts及可能遇到的问题的文章如下所示: VUE中使用Echarts图表 VUE父组件异步 ...

  8. linux 更改make版本,Linux下查看系统版本和make版本

    一.查看Linux内核版本命令(两种方法): 1.cat /proc/versionz [root@localhost ~]# cat /proc/version Linux version 2.6. ...

  9. 【java毕业设计】基于java+SSH+jsp的文章发布系统设计与实现(毕业论文+程序源码)——文章发布系统

    基于java+SSH+jsp的文章发布系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+SSH+jsp的文章发布系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. ...

  10. 文章发布系统的设计与实现

    摘 要 随着计算机技术的迅速发展,网络正以一种前所未有的冲击力影响着人类的生产和生活.网络的快速发展,颠覆了传统的信息传播方式,冲破了传统的时间,空间的局限性,继而引发了人类阅读方式的变革.现如今,网 ...

最新文章

  1. HPAIC人类蛋白质图谱分类挑战赛金牌经验分享
  2. python入门指南bl-Python Flask开源博客系统Bl
  3. pat1085. Perfect Sequence (25)
  4. springboot-嵌入式Servlet容器(Tomcat)源码分析以及容器切换
  5. 来来来,一起五句话搞定JavaScript作用域
  6. BZOJ3170: [Tjoi2013]松鼠聚会 - 暴力
  7. c语言链表写贪吃蛇思路,C语言构建的链表贪吃蛇
  8. 关于msbuild 编译.net 4.5新语法错误的解决方法
  9. 大咖直播 | 7月26日20点 ,我们请中信银行技术大咖聊聊GoldenDB的研发与应用实践...
  10. 【读书笔记】CSS代码规范
  11. ADO.NET 数据库操作类
  12. 雪球python爬虫炒股_关于雪的作文
  13. 学习Java软件开发,可以从事什么工作?
  14. android前置摄像头预览,Android - 前置摄像头预览SurfaceView
  15. 中国各个朝代的历史地图
  16. wtg linux双系统,说走就走的WTG系统 国民好物aigo固态硬盘让你随时随地双系统
  17. 【Java】异步回调转为同步返回
  18. qcqa是什么职位_QA和QC是什么意思?区别是什么?
  19. linux tar.7z如何解压,Linux下解压:tar、rar、7z命令简单易懂的教程
  20. EDA程序设计--数字日历电路

热门文章

  1. win7系统怎么查看电脑配置,win7电脑系统配置查看
  2. poi 5.2.2 操作word合集之【页眉页脚】
  3. Java学习记录之StringBuilder类
  4. Tesseract-OCR安装简明教程
  5. zabbix查询历史数据
  6. CHM 格式打开不显示网页
  7. CSS-animation-梦幻西游小案例
  8. sitemap网站地图制作思路
  9. 九宫怎么排列和使用_风水知识:三元九运与九宫飞星排布方法!
  10. CF1060F Shrinking Tree(期望、树形dp)