问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

css的几种实现方式

发布网友 发布时间:2022-04-23 03:38

我来回答

2个回答

懂视网 时间:2022-05-14 12:15

CSS中怎样设置才能使对象中的文字垂直居中于对象,这个问题也是捆扰很多朋友的难题。现在网上的很多代码都做不到浏览器兼容。我把网上有关的方法整理了一下,做了些改动,完全可以兼容各主流浏览器。
下面具体说一下在不同情况下垂直居中的方法。
一、一行文字垂直居中
看一下下面的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>脚本之家-css垂直居中</title>
<script type="text/javascript" language="javascript">
function sel(id) {switch(id) {case "1":document.getElementById("sub").style.lineHeight = "normal";break;case "2":document.getElementById("sub").style.lineHeight = "20px";break;case "3":document.getElementById("sub").style.lineHeight = "28px";break;}}
</script>
<style type="text/css">
#all {
width:240px;
padding:10px;
font-size:12px;
color:#FFF;
background-color:#CCC;
}
#sub {
width:230px;
padding:0 5px;
height:20px;
overflow:hidden;
background-color:#F90;
}
#sel {
margin-top:5px;
}
select {
width:260px;
}
</style>
</head>

<body>
<p id="all">
<p id="sub">一行文字垂直居中,此对象高度为20px</p>
</p>
<p id="sel"><select onchange="sel(this.value)"><option value="1">默认值,设置行高为:normal</option><option value="2">设置行高和对象高度相同:20px</option><option value="3">设置行高比对象的高度大:28px</option></select></p>
</body>
</html>


方法:line-height:20px。设置相同的行高和对象高度。

说明:这种设置简单又兼容各种浏览器,支持内联对象。但如果是固定高度的对象,只能显示一行。当有两行文字时,如果不设置“overflow:hidden”会把对象撑开。
二、多行文字,且高度自适应
请看下面的代码:

方法:padding-top:10px; padding-bottom:10px。设置相同的上下内边距。

说明:兼容各种浏览器,支持内联对象,同时又支持非文本对象,如img。但有一个缺点就是对象的高度不能固定。

三、固定高度的多行文字垂直居中

这种方法比较复杂,我也会详细说明的。下面还是先看代码:

方法:

(1)vertical-align:middle; display:table-cell。这种方法的意思是:将对象强制转换为Table,vertical-align:middle的作用和表格中的valign="center"相同。

本来是很方便的一个属性,但IE不支持这个属性。为了使各浏览器兼容,我们不得不想其他的方法。

(2)在对象内建立一个子对象,并在子对象内再建立一个子对象或段落。网页中:

<p id="a"><p><p>这里具有多行文字,高度是50px这里具有多行文字,高度是50px</p></p></p>

CSS中:

p {margin:0;}:因为在FireFox中默认P是有间距的

#a {height:50px;position:relative;}:设置高度50,如果要是子对象相对它定位,则要设置position:relative

#a p {*position:absolute;*top:50%;}:前面加星号“*”只有IE支持,其他浏览器会忽略此设置。position:absolute设置了此子对象的定位为绝对定位,top:50%设置了显示在距顶端50%的位置,即25px(因为上面设置了父对象的高度为50px)。

#a p p {*position:relative;*top:-50%;}:这段代码只能先理解为向上移动剩下高度的50%。因为top设置了负值,相当于向相反的方向移动。

说明:支持主流浏览器(在IE6,FireFox2下测试)。

热心网友 时间:2022-05-14 09:23

直接写在标签里
< div style=" 各种样式">
写在< head>中
< style type=" text/ css">
div{ 各种样式}
</ style>

引用外部文件
< link src="文件名. css">
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
排名第一的鲤鱼颗粒 钓鱼饵料爆款第一名 深度体验一加Ace 2V 一加手机2V防水效果怎么样一加防水性能 老人说,冬吃萝卜夏吃姜,是什么原理? 御龙在天手游战力快速提升攻略 资源获取任务 御龙在天手游平民怎么玩 平民战力提升指南 【二手装载机选购】买二手铲车要注意什么 如何选择购买二手装载机 买新生儿教育金有哪些注意事项?买前必看! 在钉钉不小心删班群怎么办恢复 交易关闭是什么意思? 什么域名不需要备案可以直接解析? 我想做个自己的网站,想问下哪里有做网站最便宜的(600元以内的,含网站建设和域名空间),又便宜又好? 现在的域名都要备案才能解析吗?以前不是只是空间需要备案而已吗? 域名被工信部屏蔽了,没备案的 .com.cn域名需要备案才能用吗?不备案能不能用? 国内的空间都要域名备案,备案了的域名可以任意解析国内其他空间吗? 免备案服务器选哪里的最好呢? 域名租用,免备案去哪里租?? 有没有免备案的网站域名啊? 什么网站需要备案?什么网站不需要备案? 域名解析在海外免备案空间,如果现在域名转出,会因无备案被注销吗? 网站域名不备案可不可以用? 国内免备案的空间怎么样啊?可以用吗? 我买了域名,是域名备案还是空间备案,如果把域名指向免备案空间? 你的朋友圈价值,发掘了多少? 新手如何理解网站优化必须要原创求解 大同哪家网络营销公司较有名? 关于网吧推广软文怎么写 为什么会有很多软文不收录呢 支付宝交易关闭是什么意思?是不是没扣钱? 网页中css如何实现点划线 支付宝里显示“交易关闭”的交易的钱去哪了?是回到账户上了,还是其他... 什么是css,可以有那几种实现方法 支付宝账单里面的交易关闭是什么意思? css 怎么实现 div水平居中 呢? CSS主要有几种引用方法? 分别怎样实现的? 支付宝已经付款了,显示交易关闭怎么办? CSS代码的实现 您好,请问支付宝交易关闭要怎么解决啊,找人工客服客服说账号没问题了,可是一转账还是交易关闭? 如何用CSS代码实现? 为什么我支付宝付款失败,显示交易关闭,而钱却扣了? 请问怎么使用css实现下面的布局 怎样用css实现div选中的效果 已付款支付宝,但交易关闭了,怎么办 怎样通过css实现如下效果 淘宝上用支付宝付款了后显示交易关闭怎么办?急~ 支付宝交易关闭后商家能看到吗?还有交易关闭后怎么重新支付 css如何实现以下效果? 怎样用css实现图片的渐变?如图