HTML,CSS工具(二)

                                            HTML,CSS工具

6.图片代替文字

前言:当你的网速降低到10kb/s时,网页只会显示最基础的html,且屏蔽css,js,大公司(或者现在的公司)会让你在网速不好的时候,那个网站还能正常点击,浏览(国际性公司兼容策略)

第一种:(使用单行文本溢出处理)

语法:使用a标签先将网速不好时的html文字展示出来,然后在css中给a标签添加背景图片等属性,刺客显示文字会压到图片上,我们不需要文字,所以先将文字顶出这个图片容器,然后使用单行文本溢出处理,不打点

html代码:

<a href="https://www.taobao.com">淘宝网</a>

css代码:

*{

margin:0;

padding:0;

list-style:none;

text-decoration:none;

}

a{

width:190px;

height:90px;

color:#424242;

display:inline-block;

border:1px solid black;

background-image:url('img/taobaowang.png');

background-size:190px 90px;

}

执行结果:

淘宝网这三个字他在图片上,我们首先要将这三个字顶出容器,使用首行缩进text-indent属性,让text-indent的值大于容器的宽,此时我们在a标签里加text-indent:200px;执行结果:

会发现只有"淘"出去了,为了让"宝网"也跟着出去,我们使用white-space:nowrap;执行结果

这时候我们让"淘宝网"隐藏就行了,使用overflow:hidden,此时执行结果

我们测试一下,当网速不好时,屏蔽css,这时候只有<a href="https://www.taobao.com">淘宝网</a>,执行结果

第二种:

语法:根据背景图片能加到padding上,content(标签的内容不能加到padding上),我们得到了这种办法,让容器的高度设置为0,如果不设置height为0,标签的文字还是不会从容器中出去的,用padding-top代替容器的高度,使用overflow:hidden将标签的内容消失

html代码:

<a href="https://www.taobao.com">淘宝网</a>

css代码:

a{

width:190px;

color:#424242;

display:inline-block;

border:1px solid black;

background-image:url('img/taobaowang.png');

background-size:190px 90px;

height:0px;

padding-top:90px;

overflow:hidden;

}

执行结果:

7.自适应

前提:必须是父子级,父子元素而且都是块级元素

html代码:

<div class="wrapper">

<div class="content"></div>

</div>

css代码:

*{

margin:0;

padding:0;

list-style:none;

text-decoration:none;

}

.wrapper{

height:30px;

background-color:#123;

}

.content{

margin:0 auto;

width:1200px;

height:30px;

background-color:#f40;

}

执行结果:

这个自适应的作用是浏览器缩小时,两边先消失

8.底对齐

一.一行文本是底对齐

html代码:

<div>

今天真好<span>好心情!</span>

</div>

css代码:

*{

margin:0;

padding:0;

list-style:none;

text-decoration:none;

}

span{

font-size:60px;

}

执行结果:

二.图片和文字也是底对齐

html代码:

<img src="img/tbewm.png" alt="哈哈哈">4554556

css代码:

*{

margin:0;

padding:0;

list-style:none;

text-decoration:none;

}

img{

width:100px;

height:100px;

}

执行结果:

是不是现在很想知道如果后面加个宽高为100px,背景颜色为淘宝红,

加一个

<div style ="width:100px;height:100px;background-color:#f40;"></div>

执行结果:

对于以上两种,有个特殊的

html代码:

<span>123</span>456

css代码:

*{

margin:0;

padding:0;

list-style:none;

text-decoration:none;

}

span{

display:inline-block;

width:100px;

height:100px;

background-color:#f00;

font-size:50px;

}

执行结果:

456会跟着span里面的文字对齐,不过通过vertical-align改变456的位置,如果加一个vertical-align:text--top,执行结果:

说明:该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。

如果设置了vertical-align的值为middle(记住没有text-middle,只有middle),执行结果

如果设置了vertical-align为text-bottom,执行结果:

9.导航栏

使用ul(无序列表)制作

html代码:

<ul class="nav">

<li class="list-item"><a href="#">亲,请登录</a></li>

<li class="list-item"><a href="#">免费注册</a></li>

<li class="list-item"><a href="#">购物车</a></li>

<li class="list-item"><a href="#">商品分类</a></li>

<li class="list-item"><a href="#">联系客服</a></li>

</ul>

css代码:

* {

margin: 0;

padding: 0;

list-style: none;

text-decoration: none;

}

.nav .list-item{

float:left;

margin:0 10px;

height:30px;

line-height:30px;

/* border:1px solid black; */

}

.nav::after{

content:"";

display:block;

clear:both;

}

.nav .list-item a{

color:#f40;

font-weight:bold;

height:30px;

display:inline-block;

border-radius:15px;

}

.nav .list-item a:hover{

background-color:#f40;

color:#fff;

}

执行结果:

如果给每个li标签和a标签加个border:1px solid black;执行结果

猜你喜欢

转载自blog.csdn.net/qq_40860137/article/details/84225816