CSS总结之background

background-color             

背景颜色在IE7之前只显示到padding区域,不包含border。而现代浏览器background-color都是从border的左上角,到border的右下角。

background-color: rgba(0,255,0,0.5) ;

background-image           

背景图图有几种情况:默认情况下(repeat),会从border区域开始布满,当然也包含了border区域;当设置为no-repeat时,是从padding的左上角到border的右下角;






背景图图应用:


① logo中添加用于SEO的文字

html结构是h1>a,a中的文字用于搜索,再讲a转块,转块之后就可以设置宽高,这样就可以看到后面加的背景图图了,宽高就等于背景图图的宽高,但是搜索的文字会覆盖在背景图上,使用text-indent给a一个-999px的值让文字出去很远很远的位置,再给a一个overflow:hidden就可以把文字切掉了。当然,也可以将文字的font-size设为0,但是在IE6、7下会出现不兼容问题,有一小条文字在图图上,so用text-indent就好了。

② padding区域挤出用来放背景图

这种方法加图图,通常是这个图图并不重要,主要用于修饰的时候,重点在文字部分。

为什么要加在padding呢?当想放一张图图在盒子中,通常是在no-repeat情况下,那么no-repeat时图图可以到padding区域,但是width是用来写文字的,so就只能加在了padding,具体加在top还是left看具体情况而定。

注意:要设置背景图,那么盒子必须要有一个宽高,如果是行内那就先转块,如果是浮动的那就先清除浮动(清除浮动方法需要另外总结)。

                                         
新属性: background-clip

可以控制背景图图和背景颜色的绘制范围。

                                            :content-box,此时color和image只出现在内容区域(width),不会扩展到padding,更加到不了border了;
        
                                            :padding-box,此时color和image只出现到padding区域,在padding以内绘制;

                                            :border-box,看名字就知道可以绘制到border了。


background-clip应用举例: 

在导航栏中,鼠标经过时不看到切换状态的变化,同时在视觉上分隔每个li的链接,使用padding-box声明,让背景色只到padding,然后给border设置为transparent(为了显示后面的其他实色)也可以设置颜色给border,这样后面的页面透过边框可见。 

例子:
.multi_drop_menu li a {  
    d isplay:block;
    border-right-style:solid;
    Background-clip:padding-box;
    Text-decoration:none;
    Color:#555;
    Background-color:#eee;
    Border-width:3px;
    Border-color:transparent;
}



background-position                

默认情况下是left top;居左上对齐,此时如果是no-repeat图图就只在左上位置,如果是repeat那会以左上顶点为原点向各个方向重复展开;通过设置位置来居左、中、右对齐,center center是以中心为原点,如果no-repeat那么图图就居中,repeat就会以最中心的图图为原点向各个方向展开来。
特殊情况是当背景图片的size大于盒子的边界,还是可以设置对齐位置,但是此时image不论是否设置了no-repeat都会扩展到border下面?? 要再验证一下

例子:
① 应用在body或盒子的大背景,position:center top;

② banner通栏,width:100%; position:center top;

像素表示法
两个属性值都是用px为单位的数值表示。
第一个值:数值是几,表示图片的左上角距离border以内的左上角,水平位移多少距离
第二个值:数值是几,表示图片的左上角距离border以内的左上角,垂直位移多少距离

像素表示法的两个属性值区分正负,正负值表示移动的方向不同
正数:图片的左上角相对于盒子border以内的左上顶点,向右、向下移动
负数:图片的左上角相对于盒子border以内的左上顶点,向左、向上移动。

像素定为法可以应用在sprite图图找图上,所以,怎么摆放精灵图就是一件要提前算计好的了,如果盒子在页面左边,那在sprite里面放在右边,这样右边宽一些也不会有其他图图出现,相反盒子在页面右边就放在sprite的左侧。例子:安卓图图距离左侧和上面都有一段距离,在精灵图中直接量出安卓图图上方和左侧对应的像素位置的坐标,前面加➖就可以直接定位出安卓的图图了...


还有一种 百分比的表示方法,0% 0%相当于left top;50% 50%相当于center center; 100% 100%相当于将图图右下角对齐到了border内侧的右下角。一种简单的计算方法就是找出100% 100%对应的像素值,其他值再按照百分比计算出像素值再去定位,
100%=盒子width + paddind - 图图width


注意:  修改background属性时,使用单一属性层叠,若使用综合属性则其他属性不变,只改变需要修改的,在使用综合属性时,要特别注意position后面两个值得顺序!



background-attachment :              scroll
                                                                    fixed

设置背景图是否随着页面滚动而滚走,默认scroll随着盒子滚动跟着走,fixed不随着滚,永远固定在浏览器窗口的某个位置,注意在小盒子内部使用fixed定位之后,参考点将从border的内左上点,变成浏览器窗口的左上顶点, ,此时上面框里面的背景图相对于browser的左上顶点定位,页面滚动他也不后跟着滚,如果第一个box滚上去出了页面,那么图图也将被其他盒子挡住了,因为背景图就是在盒子下层在背景色上层的。



上图就很好的解释了背景图图和颜色的方位,这也就是为什么想要让背景图体现出来,那么盒子必须要有宽和高,盒子就好像一个窗口没有窗口是没办法看到里面的景色的,之后想办法把盒子撑开了背景图和背景色才能出来。





新属性:渐变

渐变分两种,linear-gradient (线性渐变)和 radial-gradient (放射性渐变,从一点向四周发散)。

background:linear-gradient(red,blue);                       背景颜色从红色到蓝色的渐变;
background:linear-gradient(to right,red,blue);        背景颜色从红色到蓝色的渐变;
background:linear-gradient(-45deg,red,blue);        背景颜色把起点从默认的中上设定到了左上。



淘宝搜索框的渐变色:
.search ul li.active a{
            background: linear-gradient(to right, #FF8F00, #FF5300);
            color: #fff;
            font-weight: bold;
            border-radius: 5px 5px 0 0;
        }



新属性:background-size

背景尺寸是CSS3规定的属性,用来控制背景图图的size:

50%:缩放图图,让图图填充背景区的一半;
100px 50px; 把图图调整到固定的宽高;
cover;拉大图片,让图图完全填满背景区,保持宽高比;
contain;缩放图图,让图图恰好适合背景区,保持宽高比。



注意不要把图图拉的太大,会造成失真! 可以应用在大小不同的图图在固定大小框框里面展现!不过这个属性还没在具体例子中用起来,具体应用等找几个例子做做再来补上!









先暂时总结到这里,后续慢慢补...





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSSbackground-filter属性用于创建背景模糊效果。通过设置backdrop-filter: blur(x)属性,其中x是一个模糊半径的像素值,可以调整背景元素的模糊程度。例如,backdrop-filter: blur(5px)将创建一个5像素的模糊效果。 如果想要为一个元素添加多个background-filter属性,只需要将它们用空格分开即可。但需要注意的是,并不是所有的背景滤镜效果都能同时使用。在添加多个滤镜效果时,需要小心处理,确保它们能够兼容并产生预期的效果。 以下是一个使用backdrop-filter属性创建背景模糊的示例代码: .background { background-image: url(https://source.unsplash.com/Q7PclNhVRI0); background-position: bottom; background-repeat: no-repeat; background-size: cover; height: 100vh; width: 100%; } .blur { background: rgba(255, 255, 255, 0.2); backdrop-filter: blur(8px); height: 100vh; width: 50%; } .multiple-filters { backdrop-filter: blur(20px) saturate(120%) contrast(200%); } 通过以上代码,可以创建一个具有背景模糊效果的元素。在.blur类中,通过设置rgba颜色和backdrop-filter: blur属性,实现了一个具有模糊效果的背景。在.multiple-filters类中,展示了如何同时应用多个背景滤镜效果,包括模糊、饱和度和对比度调整。 总结来说,background filter css是用于设置背景模糊效果的CSS属性,可以通过backdrop-filter: blur(x)来定义模糊程度,同时也可以添加多个背景滤镜效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [css背景模糊用什么属性_如何用一行代码在css中使背景模糊](https://blog.csdn.net/weixin_26715991/article/details/108898849)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值