首页 >web前端 >html教程 >我的项目8 css属性,实现阅读器重排版功能_html/css_WEB-ITnose

我的项目8 css属性,实现阅读器重排版功能_html/css_WEB-ITnose

WBOY
WBOY原创
2016-06-24 11:57:201496浏览

      对于小说阅读器,相信兄弟们都很熟悉,那么它是如何实现的呢?早这里分享一些经验之谈。

      首先,在我的思路中,在制定多页,和重排版功能的实现,可能需要用到CSS3的一个属性:column-count:3(多列)思路是这样的,也不知道对不对,用HTML5+CSS3写一个可阅读的文本,然后用column-count属性进行分列,在移动端里,那么一本书就相当于一个页面,而每一页则相当于一列,而通过改变column-count的值则实现了重排版功能。不多说分享示例代码。

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>webkit-column测试</title><style type="text/css">body {background: #FFFFFF;}strong {color:#ff0000;}p {margin:0;text-indent:2em;}* {-webkit-transition: all 200ms linear;}#control {position: relative;z-index: -1;}</style><script type="text/javascript">window.onload = function() {	var c_box = document.getElementById("control");		var gCount = document.getElementById("get_count");	var col_num = document.getElementById("column_num");	col_num.onchange = function() {		gCount.innerHTML = "<style>.c_count { -webkit-column-count:" + col_num.value + ";}<strong>" + col_num.value + "栏";		c_box.style.zIndex = "1";	}		var gGap = document.getElementById("get_gap");	var col_gap = document.getElementById("column_gap");	col_gap.onblur = col_gap.onchange = function() {		gGap.innerHTML = "<style>.c_count { -webkit-column-gap:" + col_gap.value + ";}<strong>" + col_gap.value + "";	}		var col_rule_c = document.getElementById("column_rule_color");	var col_rule_v = document.getElementById("column_rule_va");	var col_rule_t = document.getElementById("line_type");	var gRule = document.getElementById("get_rule");		col_rule_t.onchange = function() {		if(col_rule_c.value == undefined || col_rule_v.value == ""){			col_rule_v.value = "1px";			col_rule_c.value = "#FF0000";		}		gRule.innerHTML ="<style>.c_count { -webkit-column-rule:" + col_rule_v.value + " " + col_rule_c.value + " " + col_rule_t.value + ";}<strong>-webkit-column-rule:" + col_rule_v.value + " " + col_rule_c.value + " " + col_rule_t.value + "";	}	col_rule_c.onchange = function() {		if(col_rule_t.value == "" || col_rule_v.value == ""){			col_rule_v.value = "1px";			col_rule_t.value = "solid";		}		gRule.innerHTML ="<style>.c_count { -webkit-column-rule:" + col_rule_v.value + " " + col_rule_c.value + " " + col_rule_t.value + ";}<strong>-webkit-column-rule:" + col_rule_v.value + " " + col_rule_c.value + " " + col_rule_t.value + "";	}	col_rule_v.onchange = function() {		if(col_rule_t.value == "" || col_rule_c.value == undefined){			col_rule_c.value = "#FF0000";			col_rule_t.value = "solid";		}		gRule.innerHTML ="<style>.c_count { -webkit-column-rule:" + col_rule_v.value + " " + col_rule_c.value + " " + col_rule_t.value + ";}<strong>-webkit-column-rule:" + col_rule_v.value + " " + col_rule_c.value + " " + col_rule_t.value + "";	}		var cBI = document.getElementById("column_break_inside");	var gBI = document.getElementById("get_break_inside");	var show_b_v = "auto";	var show_b_v_a = "avoid";	cBI.onchange = function() {		if(this.value != 0){			gBI.innerHTML = "<style>.c_count p:nth-child(" + this.value + ") {-webkit-column-break-inside: " + show_b_v_a + ";}<strong>第" + this.value + "行必须在一栏中 -webkit-column-break-inside: " + show_b_v_a + "";		}else{			gBI.innerHTML = "";		}	}		var cBB = document.getElementById("column_break_before");	var gBB = document.getElementById("get_break_before");	var show_bb_v = "auto";	var show_bb_v_a = "always";	cBB.onchange = function() {		if(this.value != 0){			gBB.innerHTML = "<style>.c_count p:nth-child(" + this.value + ") {-webkit-column-break-before: " + show_bb_v_a + ";}<strong>第" + this.value + "行前开始断开 -webkit-column-break-before: " + show_bb_v_a + "";		}else{			gBB.innerHTML = "";		}	}		var cBA = document.getElementById("column_break_after");	var gBA = document.getElementById("get_break_after");	var show_ba_v = "auto";	var show_ba_v_a = "always";	cBA.onchange = function() {		if(this.value != 0){			gBA.innerHTML = "<style>.c_count p:nth-child(" + this.value + ") {-webkit-column-break-after: " + show_ba_v_a + ";}<strong>第" + this.value + "行之后开始断开 -webkit-column-break-after: " + show_ba_v_a + "";		}else{			gBA.innerHTML = "";		}	}		var cS = document.getElementById("column_span");	var gS = document.getElementById("get_span");	var show_S_v = "auto";	var show_S_v_a = "all";	cS.onchange = function() {		if(this.value != 0){			gS.innerHTML = "<style>.c_count p:nth-child(" + this.value + ") {-webkit-column-span: " + show_S_v_a + ";padding:10px;background-color:rgb(250, 252, 212);}<strong>第" + this.value + "行通栏显示 -webkit-column-span: " + show_S_v_a + "";		}else{			gS.innerHTML = "";		}	}}</script><div>栏数:<input type="range" step="1" min="1" max="10" value="3" id="column_num"><span id="get_count"></span>
</div>
  • 分栏之间的间隔:
  • 分栏之间的颜色值:
  • 分栏之间的间隔线大小:
  • 分栏之间的间隔线类型:
  • 设置某个段落在分栏时通栏显示:
  • 设置某个段落在分栏时是否强制不断开,显示在一栏中:
  • 设置某个在某个段落前断开,从该段落开始在新的一栏中显示:
  • 设置某个在某个段落后断开,让后面的段落在新的一栏中显示:

第一行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第二行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第三行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第四行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第五行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第六行 第九届力支持,其宗旨是、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第七行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第八行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第九行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第十行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第十一行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第十二行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。

第十三行 第九届联合国际计算机会议得到广东省科技厅网站、广东省信息产业厅、珠海市人民政府及当地学术界和实业界的大力支持,其宗旨是为IT专业人士提供一个交流最新研究成果,了解本领域最新技术发展趋势,探讨IT产业对全球化趋势日益明显的世界新经济影响与作用的舞台,以达到促进地区IT产业发展的目的。应邀参加此次大会的主讲嘉宾包括微软、英特尔、爱立信、三星电子、甲骨文、戴尔等国际知名公司的高层,以及国家科技部、信息产业部、中科院、清华大学、中山大学、国防科技大学、香港大学、联想研究院等部门的官员、专家和学者。



声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn