在网上找到一个灰常好看的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+"
");
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+"
");
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+"
");
continue;
}
}
//对有花括号的行进行处理
if(temp.contains("{")){
sbder = new StringBuilder();
sbder.append(tagName + temp);
fw.write(sbder+"
");
continue;
}
fw.write(temp+"
");
}
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样式加上父节点?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号