当前位置: 首页 > Web前端 > CSS

web前端优秀程序员分享12个CSS进阶技巧总结

时间:2023-03-30 15:18:09 CSS

web前端优秀程序员分享以下CSS进阶技巧,我不告诉一般人。使用:not()在菜单上应用/取消应用边框  将行高添加到正文  将所有内容垂直居中  逗号分隔列表  选择第n个孩子为负数的项目♂使用SVG对于图标  优化显示文本  使用最大高度  对于纯CSS滑块一个hack  为空链接使用属性选择器    使用:not()在菜单上应用/取消应用边框  首先给每个菜单项添加边框1.

2.

3.

  /添加边框/

4.

  .navli{

5.

  border-right:1pxsolid#666;

6.

  }

  ...然后删除最后一个元素...  //删除边框/1.

  .navli:last-child{

2.

  border-right:none;

3.

  }

4.

  ...您可以使用:not()伪类直接应用元素:

5.

  .navli:not(:last-child){

6.

  border-right:1pxsolid#666;

7.

  }

  代码简洁,易读,易懂。  当然,如果你的新元素有兄弟元素,你也可以使用通用兄弟选择器(~):  ..navli:first-child~li{1.

  border-left:1pxsolid#666;

2.

  }

  添加行高到正文  你不需要分别为每个添加行高,等等。只需添加到正文:  body{1.

  line-height:1;

2.

  }

  让文字元素轻松从身体继承。一切垂直居中  要让所有元素垂直居中,太简单了:1.

2.

3.

  html,body{

4.

  高度:100%;

5.

  边距:0;

6.

  }

7.

  body{

8.

  -webkit-align-items:center;

9.

  -ms-flex-align:center;

10.

  align-items:center;

11.

display:-webkit-flex;

12.

  display:flex;

13.

  }

  看,是不是很简单。  注意:小心IE11中的flexbox。逗号分隔列表  使HTML列表项看起来像一个真正的逗号分隔列表:1.

2.

3.

  ul>li:not(:last-child)::after{

4.

  content:",";

5.

  }

  对于最后一个列表项:not()伪类。Selectingitemswithnegativenth-child  在CSS中使用负的nth-child选择项目1到项目n。  li{1.

  显示:无;

2.

  }

3.

  /选择1到3项显示/

4.

  li:nth-child(-n+3){

5.

  display:block;

5.

  显示:块;

6.

  }

  就是这么简单。为图标使用SVG  我们没有理由不为图标使用SVG:1.

  .logo{

2.

  background:url("logo.svg");

3.

  }

  SVG对所有分辨率类型都具有很好的扩展性,并且支持回到IE9的所有浏览器。这避免了.png、.jpg或.gif文件。  优化显示文字  有时字体无法在所有设备上以最佳方式显示,因此让设备浏览器帮助您:1.

2.

3.

  html{

4.

  -moz-osx-font-smoothing:灰度;

5.

  -webkit-font-smoothing:抗锯齿;

6.

  文本渲染:optimizeLegibility;

7.

  }/font>

  注意:请负责任地使用optimizeLegibility。此外,IE/Edge不支持文本呈现。为纯CSS滑块使用最大高度  为纯CSS滑块使用最大高度和溢出隐藏:  .sliderul{1.

max-height:0;

2.

  overlow:hidden;

3.

  }

4.

  .slider:hoverul{

5.

  max-height:1000px;

6.

  transition:.3sease;

7.

fontsize="3">  }

1.

  继承box-sizing

2.

  让box-sizing继承html:

3.

  html{

4.

  box-sizing:border-box;

5.

  }

6.

  ,:before,*:after{

7.

  box-sizing:inherit;

8.

  }

  这使得在插件或其他利用其他行为的组件中更改框大小变得更容易。  等宽表格单元格  表格操作起来很麻烦,所以一定要尽量使用table-layout:fixed,保持单元格宽度相同:1.

  .calendar{

2.

  table-layout:fixed;

3.

  }

  使用Flexbox去除各种边距hack  当你需要使用列分隔符时,你可以通过flexbox的space-between属性去掉nth-,first-,last-childhacks:1.

  .list{

2.

  display:flex;

3.

  justify-content:space-between;

4.

  }

5.

  .list.person{

6.

  flex-basis:23%;

7.

  }

  现在列表分隔符会以均匀的间隔位置出现。  为空链接使用属性选择器  当[url=]元素没有文本值,但href属性有链接时显示链接:[/url][url=] a[href^="http"]:empty::before{1.

  content:attr(href);

2.

  }

  还是蛮方便的。