这块是不是应该采用遮罩层做?

这块是不是应该采用遮罩层做?

感觉自己做的不好看http://img1.sycdn.imooc.com//climg/5bfff6860001197614900577.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿满 2019-02-28 19:27:19

参考一下如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
HTML代码:
<div class="aboutleftbottom">
<p>Praesent dignissim viverra est, sed bibendum ligula congue non. Sed ac nisl et felis gravida commodo? Suspendisse eget ullamcorper ipsum. Suspendisse diam amet.</p>
<a>EXPLORE</a>
</div>
CSS:
.aboutleftbottom {
    border: 1px solid #C5C5C5;
    padding: 25px 25px;
    text-align: left;
    position: absolute;
    width: 320px;
    top: 350px;
    color: black;
    background-color: rgba(255, 255, 255, 0.4);
}
.aboutleftbottom  p{
    margin-bottom:10px;
    line-height:25px;
}
.aboutleftbottom  a{
    background-color:black;
    padding:10px 15px;
    color:white;
    border:2px solid black;
    margin:8px 0px;
    display:inline-block;
}

这个需要结合其他代码一起完成作业效果。同学只做参考,另外使用遮罩层完成也可以。祝:学习愉快~

  • 谢谢,我还不知道有颜色可以用 rgba来设置。
    2019-03-01 21:46:09
yangyang533 2019-02-27 19:58:54

建议使用遮罩,如果单纯使用元素opacity的属性会导致元素的整体都变得半透明,后果就是像图片上的那样,黑色边框和文字都变成变成了灰色。

我是在文字上方加了一层白色半透明遮罩,配合使用的绝对定位和z-index属性,可以完美的实现效果图里的效果。

参考代码:

html

1
2
3
4
5
6
7
8
9
10
11
<div class="aboutTopLeft">
    <h2>A WORD <br>ABOUT US</h2>
    <div class="description">
        <div class="text">
            Present dignissim viverra set,bibendum ligula congue non.Sed ac nislet
            felis gravida commodo? Suspendisse eget ullamcorper ipsum.Suspendisse diam amet.
        </div>
        <div class="topLayer"></div><!--description的半透明遮罩-->
        <a href="#">EXPLORER</a>
    </div>
</div>

css:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
.about .aboutTop .aboutTopLeft{
    /*border: 1px solid navy;*/
    width19.3%;
    /*height: 450px;*/
    positionabsolute;
    top340px;
    left22%;
}
.about .aboutTop .aboutTopLeft h2{
    /*border: 1px solid purple;*/
    font-size4em;
    font-weightnormal;
    margin10px;
}
.about .aboutTop .aboutTopLeft .description{
    width100%;
    height330px;
    positionrelative;
    border2px solid rgb(157,137,146);
}
.about .aboutTop .aboutTopLeft .description .text{
    positionabsolute;
    top0;
    left0;
    z-index10;
    margin7%;
    font-size2.2em;
    line-height35px;
}
.about .aboutTop .aboutTopLeft .description .topLayer{
    width100%;
    height100%;
    positionabsolute;
    top0;
    left0;
    z-index5;
    background-color#ffffff;
    opacity: 0.5;
}
.about .aboutTop .aboutTopLeft .description a{
    displayblock;
    width130px;
    height60px;
    line-height60px;
    text-aligncenter;
    font-size2.3em;
    background-color#000000;
    color#ffffff;
    border2px solid #000000;
    positionabsolute;
    top75%;
    left7%;
    z-index15;
}
.about .aboutTop .aboutTopLeft a:hover{
    background-color#ffffff;
    color#000000;
}

http://img1.sycdn.imooc.com//climg/5c767b7400019f4310490831.jpg

  • 同学使用遮罩完成的不错,可以使用遮罩完成。但是设置背景为白色,使用透明度也可以完成的。祝:学习愉快~
    2019-02-28 10:25:54
  • 可以用代码实现一下吗?有单独为背景设置透明度的属性吗?直接设置opacity:0.5以后连文字都会变得半透明呀。
    2019-02-28 15:53:58
好帮手慕阿满 2018-11-30 09:54:37

同学你好,效果是同学做的吗?完成的不错呢,这里不需要使用遮罩层,只需要设置背景色为白色,再设置透明度就可以达到作业的效果。同学也是这样做的吧?如果不满意,建议同学调整一下透明度,另外如果将字体设置为黑色是不是对比更明显呢?

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快!

  • 不行哦,会整个元素都变得半透明的
    2019-02-27 19:59:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10204    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码