CSS背景图片和HTML中的img标签

背景图片:

该图片是218*170



css内容:

div{
	width: 100px;
	height: 100px;
	background: url(img/1.jpg);
	border: 2px solid red;
}


div{
	width: 500px;
	height: 500px;
	background: url(img/1.jpg);
	border: 2px solid red;
}

背景图片的默认格式:

当图片大于div时,图片部分填充;当图片小于div时,图片同时水平平铺和垂直平铺(背景图片的大小不发生改变)

可以通过background-size设置背景图片的大小

div{
	width: 300px;
	height: 300px;
	border: 2px solid red;
	background: url(img/1.jpg) no-repeat;
	background-size: 100%,100%;
}

background-size: contain  图片的宽和高都在div内部时,停止缩放。图片能完整显示

div{
	width: 100px;
	height: 100px;
	border: 2px solid red;
	background: url(img/1.jpg) no-repeat;
	background-size: contain;
}

background-size: cover图片宽高比不变、铺满整个容器的宽高,而图片多出的部分则会被截掉;

div{
	width: 100px;
	height: 100px;
	border: 2px solid red;
	background: url(img/1.jpg) no-repeat;
	background-size: cover;
}

background-size:contain 和cover
相同点: 都是将图片以**相同宽高比**缩放以适应整个容器的宽高。
不同点:
1.  在no-repeat情况下,如果容器宽高比与图片宽高比不同,
  cover:图片宽高比不变、铺满整个容器的宽高,而图片多出的部分则会被截掉;(图片不完整)
  contain:图片自身的宽高比不变,缩放至图片自身能完全显示出来,所以容器会有留白区域;(图片是完整的)

2.  在repeat情况下:cover:与上述相同;contain:容器内至少有一张完整的图,容器留白区域则平铺背景图,铺不下的再裁掉。

background-position: center center;使背景图片居中显示

没有使用时:

div{
	width: 1000px;
	height: 410px;
	border: 2px solid red;
	background-image: url(img/2.jpg);
}

使用background-position: center center;时,背景图片居中显示

div{
	width: 1000px;
	height: 410px;
	border: 2px solid red;
	background-image: url(img/2.jpg);
	background-position: center center;
}


img标签中的图片

如果img设置了宽,图片的宽和高是等比缩放

img{
    	width: 640px;
    }



img{
    	width: 320px;
    }

两种结合的轮播效果

屏幕大于768px时,高度设置410px,高度不发生改变,宽度一直变化,且图片一直居中。

屏幕小于768时,div不设置宽度,并在div中添加img标签

@media (min-width: 768px) {
  #main_ad > .carousel-inner > .item {
    height: 410px;
  }
}

#main_ad > .carousel-inner > .item > img {
  width: 100%;
}

上面的做法有一个不足的地方:容器的高度由img标签决定,当网速慢时,图片一点一点地加载,img的高度逐渐增大,这样页面出现抖动,可以设置img容器的高度和宽度成比例,该比例等于图片的宽高比,利用padding-bottom:xxx%,height:0;padding充当高度,此时img的display:absolute,left:0;top:0;


js文件

$(function() {
  // 当文档加载完成才会执行
  /**
   * 根据屏幕宽度的变化决定轮播图片应该展示什么
   * @return {[type]} [description]
   */
  function resize() {
    // 获取屏幕宽度
    var windowWidth = $(window).width();
    // 判断屏幕属于大还是小
    var isSmallScreen = windowWidth < 768;
    // 根据大小为界面上的每一张轮播图设置背景
    // $('#main_ad > .carousel-inner > .item') // 获取到的是一个DOM数组(多个元素)
    $('#main_ad > .carousel-inner > .item').each(function(i, item) {
      // 因为拿到是DOM对象 需要转换
      var $item = $(item);
      // var imgSrc = $item.data(isSmallScreen ? 'image-xs' : 'image-lg');
      var imgSrc =
        isSmallScreen ? $item.data('image-xs') : $item.data('image-lg');

      // jQuery方式
      // $element.data()
      // 是一个函数 ,专门用于取元素上的自定义属性(data-abc)
      // 函数的参数是我们要取得属性名称(abc)
      //
      // $element.attr('data-abc')
      //
      // JS中的写法
      // element.dataset['abc']
      //
      // element.getAttribute('data-abc')
      // element.setAttribute('data-abc','')

      // 设置背景图片
      $item.css('backgroundImage', 'url("' + imgSrc + '")');
      //
      // 因为我们需要小图时 尺寸等比例变化,所以小图时我们使用img方式
      if (isSmallScreen) {
        $item.html('<img src="' + imgSrc + '" alt="" />');
      } else {
        $item.empty();
      }
    });
  }
  // $(window).on('resize', resize);
  // // 让window对象立即触发一下resize
  // $(window).trigger('resize');


  $(window).on('resize', resize).trigger('resize');
});

  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
主要包含HTML5+CSS3基础知识,各种常用标签的意义及基本用法示例。 HTML5部分具体内容包括: 语义化标签:段落标签标签自定义文字样式,标题标签,块,标签定义头部,标签定义底部,标签定义正文区段,标签定义侧边栏区域; 效果标签标签实现换行效果,特殊字符 实现空格效果,标签实现水平线; 列表标签:使用实现无序列表,使用实现有序列表; 使用标签添加图片,使用标签添加链接,使用table添加表格,使用thead、tbody、tfood定义表格; 表单标签:使用创建表单,文本输入框,密码输入框,数字输入框,网址输入框,邮箱输入框,创建文本域,单选框,复选框,使用select、option创建下拉菜单,提交按钮,重置按钮; CSS3部分具体内同包括: css引入方式:内联式,嵌入式,外部式,三种链接方式优先级; css选择器:标签选择器,类选择器,ID选择器,后代选择器,通用选择器,伪类选择器(给html标签的某种状态设置样式),分组选择器; 样式继承,优先级,最高层级!important; css字体样式:font-family设置字体系列,font-size设置字体大小,font-weight设置字体粗细,font-style设置字体样式,color设置字体颜色的三种形式,font的简写; css文本样式:使用text-decoration添加文本修饰,text-indent:2em添加首行缩进俩字符,line-height设置行间距,letter-spacing设置字符间距,word-spacing设置英文单词间距,text-align设置文本对齐方式; css盒模型:块级元素,内联元素,内敛块状元素,none使元素隐身,设置宽度、高度、背景色、边框、圆角,padding内边距,margin外边距; css布局模型:流动模型flow,浮动模型float,层模型layer,层模型的绝对定位、相对定位、固定定位,相对定位与绝对定位组合; css弹性盒模型:flex属性,横轴排列,纵轴排列,flex占比; 行内元素水平居设置; 定宽块状元素水平居设置; 已知宽高实现盒子水平垂直居; 不知宽高实现盒子水平垂直居
1.复合选择器 (1)后代选择器(包含选择器 重要) 语法: 元素1 元素2 {样式声明} 选择器1 选择器2{ 属性:属性值 } 元素1和元素2用空格隔开 元素1父亲 元素2后代 最终改变的是后代(元素2)的样式 选择器可以是任意的基础选择器 (2)子元素选择器(子选择器 重要) 语法 元素1>元素2{样式声明} 元素1和元素2用>隔开 元素1和元素2是父子关系 只选择父元素最近一级的子元素 即必须是亲儿子 选择器1 选择器2可以是任意基础选择器 (3)并集选择器(重要) 可以选择多组标签 定义相同样式 通常用于集体声明 语法 元素1, 元素2{样式声明} 元素1和元素2都改了样式 逗号,为和的意思 任何选择器都可以作为并集选择器 约定的语法规范:并集选择器约定竖着写 最后一个选择器不需要加逗号, (4)交集选择器 语法 选择器1选择器2选择器3{ 属性: 属性值; } 用选择器1选择元素集合A,用选择器2在A选择元素 标签名只能写在前面并且只能有一个标签 (5)伪类选择器(只用于链接 用:表示) a:link 未访问过的链接 a:visitied 已访问过的链接 a:hover 选择鼠标经过的链接/悬停时链接 a:active 选择的是鼠标正在按下没有弹起的链接 注意:按照LVHA的顺序写 链接在浏览器有默认样式 所以一般需要单独指定 (6)焦点选择器(对input标签) 用于选取获得焦点(光标选)的表单元素 语法 表单元素:focus{ 属性: 属性值; } 注意: 表单元素最常用的是input 在input框选时显示的样式 2.css的元素显示模式 html元素一般分为块元素和行内元素 (1)块级元素 div p h1-h6 ul ol li ①独占一行 ②宽度 高度 外边距 内边距都可控制 ③宽度默认是容器(父级元素)100%的宽度 ④是一个容器及盒子 里面看可以放行内或块级元素 ⑤文字类的元素如p h1-h6里面不能放块级元素 尤其是div (2)行内元素 a strong b em i del s ins u span ①相邻行内元素在一行上,一行可以显示多个 ②宽高直接设置是无效的 ③默认宽度就是他本身内容的宽度 ④行内元素只能容纳文本或其他行内元素 ⑤链接(a标签)里面不能再放链接 但可以放块级元素 比如图片 (3)行内块元素 img input td ①一行上可以有多个行内块元素 间有空隙(行内元素特点) ②默认宽度就是他本身内容的宽度(行内元素特点) ③宽高 高度 外边距 内边距可以控制(块级元素特点) 元素显示模式的转换 (1)行内元素转块级元素 display:block;√ (2)块级元素转换为行内元素 display:inline; (3)行内块 元素 display:inline-block√、 单行文字垂直居 文字的行高line-height=盒子高度 仅限于单行文字垂直居 3.css的背景属性 (1)背景颜色 选择器{ background-color: transparent透明(透明)/color; } (2)背景图片(便于控制位置) 常用于logo 装饰性的小图片或者超大图片 background-image: none(默认) | url(图片地址/路径); (3)背景平铺 background-repate: repate(默认) | no-repate | repate-x(沿x轴/横向平铺) | repate-y(沿y轴/纵向平铺); 注意: 页面元素既可以添加背景颜色 也可以添加背景图片 只不过背景图片在背景颜色上方 即背景图片会压住背景颜色 (4)背景图片的位置 background-position: x y; ①参数是方位名词 top | center | bottom | left | center | right 方位名词 x( left | center | right) y(top | center | bottom) background-position: 水平 垂直; background-position: center top ; background-position: top center ; 指定两个方位名词时 与顺序无关 指定一个方位名词时 没有指定的那个默认是居对齐 ②参数是精确单位 前面x 后面y 顺序不可变 若第一个是精确单位 一定是x 则另一个垂直居 ③混合单位 有顺序要求 第一个为x 第二个为y (5)背景固定 background-attachment: scroll | fixed ; (6)背景复合写法 background:颜色 图片地址url 平铺 滚动 位置 没有顺序要求 (7)背景色半透明 background:rgba(0,0,0,0.3)取值0-1 0.3也可以写成.3 背景色半透明 盒子里面内容不受影响
### 回答1: `<img>` 标签是用于向 HTML 页面添加图像的标签。以下是一些常用的 `<img>` 标签属性和相关的 CSS 属性: 1. `src` 属性:用于指定要在页面显示的图像的 URL。 2. `alt` 属性:用于指定图像的替代文本,以便在图像无法加载时提供说明。 3. `title` 属性:用于指定当用户将鼠标悬停在图像上时显示的文本。 4. `width` 和 `height` 属性:用于指定图像的宽度和高度。这些属性还可以通过 CSS 设置。 5. `border` 属性:用于指定图像的边框宽度和样式。 6. `align` 属性:用于指定图像相对于周围文本的对齐方式。 7. `style` 属性:用于应用 CSS 样式到图像。可以使用样式属性来设置图像的宽度、高度、边框、外边距、内边距等属性。 例如,可以使用以下 CSS 样式为 `<img>` 标签添加外边距和边框: ```css img { margin: 10px; border: 1px solid black; } ``` ### 回答2: img标签属性有以下几个常用的css属性: 1. width:设置图片的宽度。可以使用具体数值(如px、em等)或者百分比。 2. height:设置图片的高度。同样可以使用具体数值或者百分比。 3. margin:设置图片与周围元素之间的间距。可以使用上、右、下、左四个方向分别设置具体数值,也可以统一设置。 4. padding:设置图片与其边框之间的距离。同样可以在四个方向上分别设置数值,或者统一设置。 5. display:用于控制图片的显示方式。常见的取值有"block"(作为块级元素显示),"inline"(作为内联元素显示)和"none"(不显示)。 6. float:设置图片的浮动方式。常见的取值有"left"(向左浮动)和"right"(向右浮动)。 7. border:设置图片的边框样式。可以设置边框宽度、颜色和样式。 8. background:设置图片的背景颜色或者背景图片。 9. position:设置图片的定位方式。常见的取值有"static"(默认定位)、"relative"(相对定位)、"absolute"(绝对定位)和"fixed"(固定定位)。 10. opacity:设置图片的透明度。取值范围为0(完全透明)到1(完全不透明)之间。 以上是img标签常用的css属性,通过这些属性可以对图片进行各种样式的设置和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值