Heim  >  Artikel  >  Web-Frontend  >  Wie füge ich einen übergeordneten Knoten zum CSS-Stil hinzu?

Wie füge ich einen übergeordneten Knoten zum CSS-Stil hinzu?

零下一度
零下一度Original
2017-04-26 17:04:103756Durchsuche

在网上找到一个灰常好看的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;
	}
}

Das obige ist der detaillierte Inhalt vonWie füge ich einen übergeordneten Knoten zum CSS-Stil hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn