CSS 仅使用CSS和CSS计数器设置HTML代码块的样式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CSS 仅使用CSS和CSS计数器设置HTML代码块的样式相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
//http://www.somacon.com/p355.php
String.prototype.trim = function()
{
	return this.replace(/^\s+|\s+$/g,"");
}

//http://www.experts-exchange.com/Web/Web_Languages/JavaScript/Q_21478202.html
function codeToList()
{
	//Convert code elements to ordered lists
	var code = document.getElementsByTagName("code")
	for (i = 0; i < code.length; i++)
	{
		code[i].innerHTML = "<ol class='code'>" + code[i].innerHTML.replace(/\n/g, "<li>").trim() + "</ol>";
	} //end for
	
	//Apply zebra stripes
	if (document.getElementsByClassName)
	{
		var code = document.getElementsByClassName("code");
		for (i = 0; i < code.length; i++)
		{	
			var li = code[i].getElementsByTagName("li")
			var cn = "odd";						
			for (x = 0; x < li.length; x++)
			{
				li[x].className = cn;				
				cn == "odd" ? cn = "even" : cn = "odd"; //condition ? true : false
			} //end for
		} //end for
	} //end if
		
} //end function

window.onload = DOMReadyAll;
function DOMReadyAll()
{
	codeToList();
}
</script>

<style type="text/css">
body { font-size: 12px; width: 600px; }

.code
{
background: url(/files/images/template/code_bg2.png) repeat left top;
border: 1px solid #cccccc;
list-style-type: none;
margin: 0px;
padding: 0px;
overflow: auto;
width: 550px;
}

.code li
{
color: #669933;
font-family: "Consolas", "Courier New", Courier, mono;
line-height: 0px; /* to remove white border issue */
white-space: pre;
}

.code { counter-reset: li; }
.code li:before
{
counter-increment: li;
content: counter(li) ". ";
background: #ececec;
border-right: 1px solid #cccccc;
color: #555555;
display: inline-block;
font-family: Arial, Helvetica, sans-serif;
line-height: 30px; /* minumum line height = 24, smaller causes white border issue */
margin-right: 20px;
padding-right: 5px;
text-align: right;
width: 50px;
}

/*
.code li:nth-child(odd) { background: #ffffff; }
.code li:nth-child(even) { background: #fafafa; }
.code .odd { background: #ffffff; }
.code .even { background: #fafafa; }
*/
.code li:empty { display: none; }
</style>

以上是关于CSS 仅使用CSS和CSS计数器设置HTML代码块的样式的主要内容,如果未能解决你的问题,请参考以下文章

CSS 列错误 - 5 列计数仅显示 4(带图像)

Asp.net 部分视图 - 单击后设置 html 和 css - 不改变它的状态

如何仅使用 HTML 和 CSS 创建爱尔兰国旗? [复制]

仅使用 HTML 和 CSS 在图像顶部显示表格

仅具有 css 类的桌面/移动按钮中的不同链接

仅使用 CSS 悬停时显示文本