当前位置:Gxlcms > css > 如何给css样式加上父节点?

如何给css样式加上父节点?

时间:2021-07-01 10:21:17 帮助过:1128人阅读

在网上找到一个灰常好看的html模版,很可惜它自带了很多css样式,为了防止冲突,你需要一行一行的去改css样式,给它添加上父亲节点,并且改动css的选择器。工作量太大有木有啊。 这个代码可以给css添加上父亲节点。有效的防止了css冲突。

注意2点:
1. css文件中需要手动去掉注释,该功能没有写了。有兴趣的可以将代码补全
2. 最好在每个选择器的 ”{“ 换行,该代码没有写,有兴趣可以自己补全
比如:

#div1{ color : red; }
改成
#div1{
    color:red;
}
package test.css;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import org.junit.Test;

/**
 * 给所有的css样式加上父节点
 * 
 * @author Van
 * @time 20150312
 */
public class ChangeCss {

	private static String tagName = "#footOuter ";
	private static String inPath = "D:\\workspaceluna\\GGBlog\\src\\main\\webapp\\resources\\plugins\\footer\\style.css";
	private static String outPath = "D:\\workspaceluna\\GGBlog\\src\\main\\webapp\\resources\\plugins\\footer\\style1.css";

	@Test
	public void cssTest() throws Exception{
		//输入
		BufferedReader in = new BufferedReader(new FileReader(inPath));
		//删除旧文件
		File file = new File(outPath);
		file.delete();
		//创建
输出流 FileWriter fw = new FileWriter(outPath); int lineTotal = 0; String temp; while( (temp = in.readLine()) != null ){ lineTotal++; StringBuilder sbder; //跳过空行 if(isEmpty(temp)){ continue; } //跳过@开头的行 if(temp.contains("@")){ fw.write(temp+"\r\n"); continue; } //对有逗号和没有分号的行加标签 if(temp.contains(",") && !temp.contains(";")){ sbder = new StringBuilder(); String _temp[] = temp.split(","); for(String _eveString : _temp){ //加上父节点 sbder.append( tagName + _eveString); if(_eveString.contains("{") || _eveString.contains("}")) continue; sbder.append(","); } fw.write(sbder+"\r\n"); continue; } //对有花括号和逗号的行进行处理 if(temp.contains("\\{")){ if(temp.contains(",")){ sbder = new StringBuilder(); temp = temp.split("\\{")[0]; String _temp[] = temp.split(","); for(int i=0;i<_temp.length;i++){ //加上父节点 sbder.append( tagName + _temp[i]); if(i==_temp.length-1) break; sbder.append(","); } sbder.append(temp.split("\\{")[1]); fw.write(sbder+"\r\n"); continue; } } //对有花括号的行进行处理 if(temp.contains("{")){ sbder = new StringBuilder(); sbder.append(tagName + temp); fw.write(sbder+"\r\n"); continue; } fw.write(temp+"\r\n"); } System.out.println(lineTotal); in.close(); fw.close(); } private boolean isEmpty(String value){ if(value.isEmpty()) return true; if(value.matches("^\\s+$")) return true; return false; } }

以上就是如何给css样式加上父节点?的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行