CSS高级_笔记

在 CSS 中,可以使用多种属性来水平对齐元素。

块级元素指的是占据全部可用宽度的元素,并且在其前后都会换行。比如<h1><p><div>。块级元素就是会占用一整行,与之相对应的是内联元素

如果把margin的非简写属性margin-left和margin-right的值设置成为auto的话,因为均等地分配可用的外边框,所以结果就会变成居中显示了。(这个快元素的显示可别是百分之百,这样看不出来什么效果的)。

如果用position属性的值absolute,可以进行左右对齐。用left和right属性便可以了。当然,这里的宽度也不要设置成百分之百。文本框的默认宽度是整个浏览器页面的宽度,不设置看不出来。(绝对定位元素会被从正常流中删除,并且能够交叠元素。)

对齐元素时,对 <body> 元素的外边距和内边距进行预定义是一个好主意。这样可以避免在不同的浏览器中出现可见的差异。(我只是在Firefox试过,没有什么经验)

如果用float属性来对齐也是可以的。


CSS尺寸属性是控制元素的高度和宽度的,有height,width,line-height,max-height,max-width,min-height,min-width七个属性。

max-height 属性设置元素的最大高度。该属性值会对元素的高度设置一个最高限制。因此,元素可以比指定值矮,但不能比其高。不允许指定负值。可能的值有:none,length和%。默认none表示没有限制。这里要说明的是如果一个<p>的文本内容超出了他的最大高度,也是可以显示出来的,但多出的位置不属于这个元素框内的。所以如果有别的元素框在,超出的部分文本会被覆盖掉的。

min-height属性设置元素的最小高度。与上面的相对应,如果这个文本内容太少,但又不想下面的元素框跟着太紧密了,就可以设置一下最小高度。可能的值是length(默认,0)和%属性。

max-width属性与max-height一样的,min-width与min-height一样的。别的属性在之前写过了。


CSS分类属性控制如何显示元素,设置图像显示于另一元素中的何处,相对于其正常位置来定位元素,使用绝对值来定位元素,以及元素的可见度。下面几个属性都属于分类属性:clear,cursor,display,float,position,visibility。

cursor属性规定当指向某元素之上时显示的指针类型。默认值是auto,用浏览器设置的光标。可能值很多default,crosshair(十字线),pointer(一只手),move,e-resize,ne-resize,nw-resize,n-resize,se-resize,s-resize,w-resize,text,wait,help。NSWE表示的东西南北方向,两个就是斜着的方向。

display设置是否及如何显示元素。可能的值很多啊!!我都没有用过。默认为none此元素不会被显示(跟visibility有什么区别?这里none很像visibility:collapse感觉不出存在)。block此元素将显示为块级元素。inline,默认值,表示此元素会被显示为内联元素。inline-block表示行内块元素,即这一行有换行符的。省下的略,暂时没用到

visibility 属性规定元素是否可见。默认值visible可见,可能的值还有,hidden不可见,collapse当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 "hidden"。这里的隐藏是大隐藏,让人感觉不出来的隐藏,后面的补空,hidden隐藏只会隐藏该值,但是空格被保留了下来。


CSS导航条

导航栏基本上是一个链接列表,因此使用 <ul> 和 <li> 元素是非常合适的,从列表中去掉圆点和外边距。合适的背景颜色,合适宽度,合适内边距,合适的字体,然后a伪类设置hover和a:action。这样差不多快弄好一个好看的列表了。

如果是垂直导航栏的情况下,需要用display:block属性值,在一定的宽度下,都可以点到这个链接。如果是水平导航栏的情况,可以使用行内或着浮动列表项。但是如果希望链接拥有相同的尺寸,就必须用浮动方法。第一种:display:inline这种把块级变成了内联,这样几个元素就可以带着同一行了。但链接的宽度是不同的,原因是内联元素好像没有块级那么多框属性。所以用第二种方法就好了,对列表<li>进行浮动,这样便可以设置宽度了。


CSS图片库,图像透明度

与导航条一样,想设置漂亮的图片库,就应该设置很多属性。

CSS创建透明图像是很容易的。使用属性 opacity 来设定透明度。opacity 属性能够设置的值从 0.0 到 1.0。值越小,越透明。更早的版本使用的是滤镜 filter:alpha(opacity=x)。x 能够取的值从 0 到 100。值越小,越透明。使用时都写上,可以在不同的浏览器中正确的显示的。

img
{
opacity:0.4;
filter:alpha(opacity=40); /* 针对 IE8 以及更早的版本 */
}
<pre>img:hover
{
opacity:1.0;
filter:alpha(opacity=100); <span class="code_comment">/* 针对 IE8 以及更早的版本 */</span>
}

 然后在设置伪类,鼠标指的时候变成不透明的。如何在背景图片上添加透明框的文本呢?首先只需要在一个块级元素下添加另一个块级元素,父块级元素的背景设置为图片,子块设置成为背景为纯白色的图片。然后在这个子块中添加文本,并且使得这个子块的透明度调低一点就可以了。 












  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值