bootstrap 让文字显示在响应式图片上

在这个位置折腾了一会,半天没有出效果。

有两种办法:1)让图片做为背景,文字直接布局在图片上;

2)让图片用img标签插入,文字相对布局在图片上;

先说说第一种办法的问题,要想让背景图片完全显示出来,非得设置外层容器的高度,这样就失去了响应式;

例如:

#content-sec3 {
    position: relative;
    max-width: 100%;
    height: auto;
    background: url('../images/homepage/accssorybg.jpg') no-repeat top center;
    background-size: 100% auto;
    background-color: cadetblue;
    text-align: center;
}
高度设置auto 或一个固定值都达不到效果,要么图片显示不全,要么显示有多出来的白边;

最后是用第二中方式实现的,但也有不完美的地方,文本的水平居中成了问题,折腾了半天用脚本解决了,如有更好办法的朋友,希望指教。

做法如下:

html结构:

<div id="content-sec3">
            <img class="img-responsive" src="resources/images/homepage/accssorybg.jpg" />
            <div id="content-sec3-adjust" style="position: absolute; top: 0; left: 50%;">
                <h2 class="title">Vpanel配件 </h2>
                <p class="title-sub-line hidden-sm hidden-xs"> Vpanel ACCESSORIES </p>
                <p class="title-more">查看更多 <img src="resources/images/homepage/right.png" /> </p>
            </div>
        </div>

css 样式:

#content-sec3 {
    position: relative;
    max-width: 100%;
    height: auto;    
    background-size: 100% auto;   
    text-align: center;
}

    #content-sec3 .title {
        margin-top:5px;
        font-family: 微软雅黑;
        font-size: 20px;
        color: #333333;
    }

    #content-sec3 .title-sub-line {
        margin-top:15px;
        margin-bottom: 18px;
        font-family: 微软雅黑;
        font-size: 12px;
        color: #CCCCCC;
        text-align: center;
    }

    #content-sec3 .title-more {
        margin-bottom: 10px;
        font-family: 微软雅黑;
        font-size: 12px;
        color: #2E84E9;
        text-align: center;
        cursor:pointer;
    }
 水平居中脚本:

 var init = function () {
            var _bg3width = $("#content-sec3-adjust").width();
            $("#content-sec3-adjust").css("margin-left", _bg3width * -1 / 2 + "px");
        };

当window 窗口化改变大小时重新调用上面的脚本就可以了,

   $(window).resize(function () {
            init();
        });


  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 好的,我来为你写一个响应式网页的基本框架。 首先,你需要在网页的 `head` 标签内引入一个名为 "viewport" 的 meta 标签,它会告诉浏览器如何缩放页面: ```html <meta name="viewport" content="width=device-width, initial-scale=1"> ``` 然后,你需要使用媒体查询来调整网页的布局和样式,以适应不同的屏幕尺寸。下面是一个简单的例子,当屏幕宽度小于 768px 时,将导航栏改为垂直布局: ```css @media (max-width: 768px) { nav ul { display: block; } } ``` 这样,当用户在手机或平板电脑上访问网页时,导航栏就会自动调整为适合屏幕宽度的布局。 希望这些信息能帮助你开始制作响应式网页。如果你还有任何疑问,可以继续提问。 ### 回答2: 响应式网页是一种能够根据用户设备屏幕大小和分辨率的变化而自动调整布局和显示效果的网页设计。在创建一个响应式网页时,以下是一些步骤: 1. 规划页面结构:首先,需要规划网页的整体结构,包括头部、导航栏、内容区域和底部等部分。确保设计清晰,并考虑各种设备上的布局和显示方案。 2. 设计网页布局:使用HTML和CSS创建网页布局。使用CSS的媒体查询功能,根据不同屏幕尺寸设置不同的样式。例如,使用媒体查询来调整导航栏和内容区域的宽度和字体大小。 3. 图片和媒体适配:确保网页的图片和媒体元素能够适应不同屏幕尺寸和分辨率。可以使用CSS属性来设置最大宽度,以避免图片和视频溢出屏幕。 4. 弹性网格系统:使用网格系统来实现响应式布局。例如,使用CSS框架如Bootstrap或Foundation提供的网格系统,可以在不同屏幕尺寸下自动调整布局。 5. 高级技术:可以使用JavaScript和jQuery等技术实现一些高级功能,如隐藏或显示特定内容、滑动菜单和调整字体大小等。这些技术可以增强响应式网页的交互性和用户体验。 最后,测试和优化网页:确保在各种设备和屏幕尺寸上都能正常显示,解决可能出现的问题并进行优化,以提高网页的性能和加载速度。 总而言之,创建一个响应式网页需要一定的HTML、CSS和JavaScript知识,以及对不同设备和屏幕的布局和设计需求的理解。 ### 回答3: 当然,我可以帮您设计一个响应式的网页。 响应式网页是一种能够根据用户使用的设备自动调整布局和显示效果的网页。这种设计能够保证网站在不同尺寸的屏幕上都能正常显示,并提供良好的用户体验。 在设计响应式网页时,我们需要考虑以下几个方面: 1. 布局:使用流式布局,即将元素的宽度设置为百分比而不是固定数值,使得页面能够根据屏幕大小调整布局。 2. 媒体查询:通过使用CSS的媒体查询功能,可以针对不同的屏幕尺寸应用不同的样式。例如,可以根据屏幕宽度调整字体大小、元素间距等。 3. 图片优化:在加载图片时,可以使用响应式图片技术,根据屏幕大小加载合适分辨率的图片,以减小页面加载时间。 4. 导航和菜单:可以使用下拉菜单或折叠菜单来适应小屏幕设备的导航需求。 5. 触摸事件优化:在设计响应式网页时,还应该考虑到触摸设备的特性,如增大按钮大小以适应手指点击,避免使用鼠标悬停事件等。 综上所述,设计一个响应式网页需要考虑布局、媒体查询、图片优化、导航和菜单以及触摸事件的优化。这样的设计可以确保您的网页在不同设备上都能够良好地展示,提供出色的用户体验。希望这些信息能对您有所帮助!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值