Python HTML和CSS 10:background属性

简介: Python HTML和CSS 10:background属性

总体内容


1、background属性的解释

2、具体的举例


一、background属性的解释



background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,background是一个复合属性,它可以分解成如下几个设置项:


  • 1.1、background-color 设置背景颜色
  • 1.2、background-image 设置背景图片地址


image.png

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>background属性</title>
    <style type="text/css">
         .box1{
              width: 200px;
              height: 200px;
              border: 1px solid #000;
              margin: 50px auto 0;
              background-color: yellow;
              background-image: url("images/bg.jpg");
          }
     </style>
</head>
<body>
     <div class="box1"></div>
</body>
</html>


默认设置一个图片地址,图片会从盒子的左上角开始将盒子铺满。



  • (1)、no-repeat:背景不重复,背景和盒子左上角对齐,盒子其他部分显示背景颜色


image.png

.box1{
     width: 200px;
     height: 200px;
     border: 1px solid #000;
     margin: 50px auto 0;
     background-color: yellow;
     background-image: url("images/bg.jpg");
     background-repeat: no-repeat;
}


  • (2)、repeat:背景图像将向垂直和水平方向重复。这是默认,也就是上面看到的 1.3 的现象
  • (3)、inherit:指定background-repea属性设置应该从父元素继承
  • (4)、round:background-repeat取值为round时,会像repeat一样,背景图片会平铺整个容器,但和repeat不一样的是,他会根据容器尺寸和图片尺寸做一个自适应处理,不会像repeat一样,造成图片显示不全。当图片重铺的次数不适合一个整数时,会重新调整,使图片按整数平铺在整个容器中。类似于background-size一样会自动计算背景图片尺寸。


image.png


(5)、space:background-repeat取值为space时,和round又会不一样,但也有类似之处。类似之处是,背景图片会平铺整个容器,不会造成背景图片裁剪;但也和round将不一样,使用space时,不够整数背景图片平铺整个容器的时候,会将剩余的空间平均分配给相邻背景之间。假设我们的容器是200 x 200,而背景图片的尺寸是80 x 80。那么水平方向将会平铺2张背景图,而相邻两张背景图之间会有一个40/(2-1) = 40间距。同样道理,在垂直方向会有一个40/(2-1) = 40的间距。


image.png

(6)、repeat-x:横向平铺盒子,盒子其他部分显示背景颜色。


image.png


.box1{![WechatIMG38.jpeg](https://upload-images.jianshu.io/upload_images/1728484-3bae0cf89f2e8e35.jpeg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
     width: 200px;
     height: 200px;
     border: 1px solid #000;
     margin: 50px auto 0;
     background-color: yellow;
     background-image: url("images/bg.jpg");
     background-repeat: repeat-x;
}


  • (7)、repeat-y:纵向平铺盒子,盒子其他部分显示背景颜色


image.png

.box1{
     width: 200px;
     height: 200px;
     border: 1px solid #000;
     margin: 50px auto 0;
     background-color: yellow;
     background-image: url("images/bg.jpg");
     background-repeat: repeat-x;
}


  • 1.4、background-position 设置背景图片的位置,可以在水平方向设置 leftcenterright,在垂直方向设置 topcenterbottom,除了设置这些方位词之外,还可以设置具体的数值,可以任意组合,举例如下:
  • (1)、举例 1:水平居中,靠近底部


.box1{
    width: 200px;
    height: 200px;
    border: 1px solid #000;
    margin: 50px auto 0;
    background-color: yellow;
    background-image: url("images/bg.jpg");
    background-repeat: no-repeat;
    background-position: center bottom;
}

image.png


(2)、举例 2:设置具体的数值


image.png


提示:background-position 后面跟两个参数是代表水平和垂直方向的设置

  • 1.5、background-attachment 设置背景图片是固定还是随着页面滚动条滚动

提示:实际应用中,我们可以用background属性将上面所有的设置项放在一起,而且也建议这么做,这样做性能更高,而且兼容性更好,比如:“background: #00FF00 url(bgimage.gif) no-repeat left center fixed”,这里面的“#00ff00”是设置background-color;“url(bgimage.gif)”是设置background-image;“no-repeat”是设置background-repeat;“left center”是设置background-position;“fixed”是设置background-attachment,各个设置项用空格隔开,有的设置项不写也是可以的,它会使用默认值。


二、具体的举例



  • 2.1、通过雪碧图来做如下布局:


image.png


image.png


  • 雪碧图


  • 2.2、代码如下


<!DOCTYPE html>
<html lang="en">
<head>
     <meta charset="UTF-8">
     <title>雪碧图的制作</title>
     <style type="text/css">
        .box{
            background-color: yellow;
            width: 300px;
            height: 315px;
            list-style: none;
            margin: 50px auto 0;
            padding: 0px;
         }
        .box li{
            height: 60px;
            border-bottom: 1px dotted #000000;
            line-height: 60px;
            text-indent: 50px;
            background: url(images/bg01.png) 0px 10px no-repeat;
         }
        .box .icon2{
            background-position: 0px -71px;
        }
        .box .icon3{
            background-position: 0px -154px;
        }
        .box .icon4{
            background-position: 0px -235px;
        }
        .box .icon5{
            background-position: 0px -315px;
        }
    </style>
</head>
<body>
    <ul class="box">
        <li>飞驰人生</li>
        <li class="icon2">飞驰人生</li>
        <li class="icon3">飞驰人生</li>
        <li class="icon4">飞驰人生</li>
        <li class="icon5">飞驰人生</li>
    </ul>
</body>
</html>


分析:5个 li 本来要加载5张图片,由于我们使用的雪碧图在重复利用,改变的是同一张图片的 background-position,从而减少请求来获取图片的效果

目录
相关文章
|
5月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
transition过渡属性 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成。 但在CSS3中新增加了一个新的模块transition,它可以通过一些简单的CSS事件来触发元素的外观变化, 让效果显得更加细腻。简单点说,就是通过鼠标经过、获得焦点,被点击或对元素任何改变中触发, 并平滑地以动画效果改变CSS的属性值。 在CSS中创建简单的过渡效果可以从以下几个步骤来实现: 在默认样式中声明元素的初始状态样式; 声明过渡元素最终状态样式,比如悬浮状态; 在默认样式中通过添加
298 1
|
5月前
|
前端开发 JavaScript 算法
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
transform变形 css3在原来的基础上新增了变形和动画相关属性,通过这些属性可以实现以前需要大段JavaScript才能实现的 功能。 CSS3的变形功能可以对HTML组件执行位移、旋转、缩放、倾斜4种几何变换,这样的变换可以控制HTML组件 呈现出丰富的外观。 借助于位移、旋转、缩放、倾斜这4种几何变换,CSS3提供了transition动画。 transition动画比较简单,只要指定HTML组件的哪些CSS属性需要使用动画效果来执行变化,并指定动画时间,就可保证动画播放。 比transitio
268 0
|
5月前
|
前端开发 算法 Java
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
(CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
178 1
|
5月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
417 0
|
9月前
|
移动开发 前端开发 JavaScript
征信报告修改器,征信报告生成器,制作软件无痕修改软件【js+html+css】
本项目为信用评分模拟器教学工具,采用HTML5实现,仅供学习参考。核心功能通过JavaScript构建,包含虚拟数据生成、权重分配及信用因素分析(如还款记录、信用使用率等)。
|
9月前
|
前端开发 JavaScript
个人征信电子版无痕修改, 个人信用报告pdf修改,js+html+css即可实现【仅供学习用途】
本代码展示了一个信用知识学习系统的前端实现,包含评分计算、因素分析和建议生成功能。所有数据均为模拟生成
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
position定位(核心) 我们讲盒模型的时候,提到了3个属性可以用来控制页面排版。 三大属性:position属性,display属性,float属性。 position 属性控制页面上元素间的位置关系。 display 属性控制页面元素是否显示或者是堆叠还是并排显示。 float 属性提供控制方法。 通过float这种控制方法,可以实现多栏布局,导航菜单等等。 position属性是干嘛用的?怎么用?有哪些属性值? position属性控制页面上元素间的位置关系,也就是排版。 怎么用?要知道怎么用
574 1
|
5月前
|
前端开发 算法 Java
【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
继承 我们的CSS中很多的属性也是可以继承的,其中相当一部分是跟文字的相关的,比如说颜色、字体、字号。 当然还有一部分是不能继承的。 例如边框、内外边距。 层叠 层叠是CSS的核心机制。 层叠的工作机制: 当元素的同一个样式属性有多种样式值的时候,CSS就是靠层叠机制来决定最终应用哪种样式。 层叠规则: 层叠规则一:找到应用给每个元素和属性的声明。 说明:浏览器在加载每个页面时,都会据此查找到每条CSS规则, 并标识出所有受到影响的HTML元素。
184 1
|
7月前
|
Python
解决Python中AttributeError:'image'对象缺少属性'read_file'的问题策略。
通过上述策略综合考虑,您将能够定位问题并确定如何解决它。记住,Python社区很庞大,也很乐于帮助解决问题,因此不要害怕在求助时提供尽可能多的上下文和您已经尝试过的解决方案。
192 0
|
9月前
|
存储 前端开发 JavaScript
仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具
这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中

推荐镜像

更多