CSS学习第二篇

2016-11-15  本文已影响32人  只敲代码不偷桃

这次主要是补充一些在实际开发(练习)中遇到的一些问题,记录下来,方便自己以后查找复习,如果恰巧也能捎带脚解决您的困惑,那也是荣幸之至。下面还是闲话少叙,直接上干活:
注意:本文也可以看做是《CSS设计指南》的读后感,如果你恰巧看过这本书,那有趣的事很多,不要在此浪费时光。

一、什么时候用ID,什么时候用类?

不要乱用类

小结

ID的用途是在界面标记中唯一的标识一个特定的元素。它能够为我们编写CSS规则提供必要的上下文,排除无关的标记,而只选择该上下文中的标签。或者和javasprite交互时使用。
相对来说,类是可以应用给任意多个页面中的任意多个HTML元素的公共标识符,以便我们为这些元素应用相同的CSS样式,而且,使用类也让为不用标签名的元素应用相同的样式成为可能。

二、伪类

这里只是简单的总结一下,针对链接的伪类一共有四个:
Link:此时,链接就在那等着用户点击;
Visited:用户此前点击过这个链接;
Hover:鼠标指针悬停在连接上;
Active:链接正在被点击(鼠标在元素上按下,还没有释放)
使用实例:
a:link {color:block;}
a: visited {color:gray;}
a: hover{text-decoration:none;}
a:active{color:red;}
一个磨耗(:)表示伪类,两个冒号(::)表示CSS3新增的伪元素

2.2、focus伪类

:focus 选择器用于选取获得焦点的元素。(伪类)

三、围住浮动元素的三种方法

方法一、为父元素添加overflow:hidden

实际上,overflow:hidden 声明的真正用途是防止包含元素被超大内容撑大。应用overflow:hidden 之后,包含元素依然保持其设定的宽度,而超大的子内容则会被容器剪切掉。除此之外,overflow:hidden 还有另一个作用,即它能可靠地迫使父元素包含其浮动的子元素。

方法二、同时浮动父元素

第二种促使父元素包围其浮动子元素的方法,是也让父元素浮动起来。浮动 section 以后,不管其子元素是否浮动,它都会紧紧地包围(也称收缩包裹)它的子元素。

方法三、添加非浮动的清除元素(clearfix 规则)

第三种强制父元素包含其浮动子元素的方法,就是给父元素的最后添加一个非浮动的子元素,然后清除该子元素。

.clearfix:after {  
  content:".";  
  display:block;  
  height:0;  
  visibility:hidden;  
  clear:both;
}

这个 clearfix 规则最早是由程序员 Tony Aslett 发明的,它只添加了一个清除的包含句点作为非浮动元素(必须得有内容,而句点是最小的内容)1。规则中的其他声明是为了确保这个伪元素没有高度,而且在页面上不可见。

好了,该回过头来作个总结了。要想强迫父元素包围其浮动的子元素有三种方式,哪三种?

这三种方法的使用要因地制宜。比如,不能在下拉菜单的顶级元素上应用overflow:hidden,否则作为其子元素的下拉菜单就不会显示了。因为下拉菜单会显示在其父元素区域的外部,而这恰恰是 overflow:hidden 所要阻止的。再比如,不能对已经靠自动外边距居中的元素使用“浮动父元素”技术,否则它就不会再居中,而是根据浮动值浮动到左边或右边了。

四、display

五、字体

5.1、字体大小
5.2、Web字体
@font-face {
  /*这就是将来在字体栈中引用的字体族的名字*/
  font-family:'UbuntuTitlingBold';
  src: url('../Fonts/UbuntuTitlingBold.ttf');
}
* 使用 Font Squirrel 用你自己的字体生成@font-face 包。(没有涉及,待补充)

六、一些标签

七、遗漏知识点

7.1 盒子模型

一、没有(就是没有设置 width 的)宽度的元素始终会扩展到填满其父元素的宽度为止。添加水平边框、内边距和外边距,会导致内容宽度减少,减少量等于水平边框、内边距和外边距的和。
二、为设定了宽度的盒子添加边框、内边距和外边距,会导致盒子扩展得更宽。实际上,盒子的 width 属性设定的只是盒子内容区的宽度,而非盒子要占据的水平宽度。

上一篇 下一篇

猜你喜欢

热点阅读