切图过程中一些CSS样式总结
1.div水平居中显示 #
使用margin: 0 auto;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.out-div{
width: 1200px;
height: 600px;
background-color: red;
}
.in-div{
width: 600px;
height: 300px;
background-color: green;
margin: 0 auto;
}
</style>
</head>
<body>
<div class="out-div">
<div class="in-div"></div>
</div>
</body>
</html>
2.div水平垂直居中 #
水平居中,垂直居中,水平垂直居中都可以使用flex
布局,即display:flex;
如图所示,使用开发者工具在外层div选择flex即可。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.out-div{
width: 1200px;
height: 600px;
background-color: red;
display: flex;
flex-direction: column;
flex-wrap: nowrap;
align-content: center;
justify-content: center;
align-items: center;
}
.in-div{
width: 600px;
height: 300px;
background-color: green;
}
</style>
</head>
<body>
<div class="out-div">
<div class="in-div"></div>
</div>
</body>
</html>
3.超出的部分用’…‘表示,并且鼠标悬浮在上面可以显示全部 #
(1)white-space: nowrap;
:规定段落中的文本不进行换行
(2)overflow: hidden;
:溢出隐藏
(3)text-overflow: ellipsis;
:单行,多行文本溢出显示…
(4)添加title属性可以使鼠标悬浮在上面显示对应title内容
例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
div{
width: 176px;
height: 20px;
border: 1px red solid;
}
span{
display: block;
font-size: 15px;
line-height: 20px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
</style>
</head>
<body>
<div>
<span title="这是一个测试超出长度的省略功能">
这是一个测试超出长度的省略功能
</span>
</div>
</body>
</html>
4.锚点的使用,以及使用position:fixed;之后锚点定位偏移问题解决 #
自己开发过程中常用到的锚点一般有两种:
1.用a标签的href属性
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>link</title>
<style>
.link{
float: left;
}
.target{
float: left;
}
.target ul li{
height: 400px;
}
</style>
</head>
<body>
<div class="link">
<a href="#JAMES">1</a>
<a href="#PAUL">2</a>
<a href="#HARDEN">3</a>
</div>
<div class="target">
<ul>
<li id="JAMES">JAMES</li>
<li id="PAUL">PAUL</li>
<li id="HARDEN">HARDEN</li>
</ul>
</div>
</body>
</html>
但是使用这种方法,如果头部有使用position:fixed
固定的话,锚点定位就会有便宜,不是很好修改。就像下图:
可以使用下面方法来纠正因为position:fixed
固定位置导致的偏移量。
2.JQuery animate方法定位页面具体位置
//将要定位到的位置的id选择器传入
scrollOffset($("#id").offset();
// jQuery 定位让body的scrollTop等于pos的top,实现滚动
//90指的是向上纠正的偏移量,可以根据实际大小进行调整
//0指的是滑动延迟,0表示直接到达,数值越大越慢,可以看下图0与1000对比
function scrollOffset(scroll_offset) {
$("body,html").animate({
scrollTop: scroll_offset.top - 90
}, 0);
}
5.点击tab页切换样式:active、hover #
效果:
代码:
<div class="div-trial-title">
<div id="caseinfo_div" onclick="clickTab('0')" class="div-trial-title-tab">
<div class="div-trial-title-tab-content">
<div class="div-trial-title-tab-title ">
案件信息
</div>
</div>
</div>
<div id="questionnaire_div" onclick="clickTab('1')" class="div-trial-title-tab">
<div class="div-trial-title-tab-content">
<div class="div-trial-title-tab-title1 ">
问题单
</div>
</div>
</div>
<div id="proof_div" onclick="clickTab('2')" class="div-trial-title-tab">
<div class="div-trial-title-tab-content">
<div class="div-trial-title-tab-title2 ">
举证质证
</div>
</div>
</div>
<div id="doclist_div" onclick="clickTab('3')" class="div-trial-title-tab">
<div class="div-trial-title-tab-content">
<div class="div-trial-title-tab-title3 ">
文书列表
</div>
</div>
</div>
<div id="chat_div" onclick="clickTab('4')" class="div-trial-title-tab">
<div class="div-trial-title-tab-content">
<div class="div-trial-title-tab-title4 ">
我的群聊
</div>
</div>
</div>
<button type="button" onclick="endCase()">结束案例</button>
</div>
.div-trial-title{
background: #fff;
margin: auto;
margin-top:15px;
width: 97%;
height: 68px;
box-shadow: 0px 2px 7px 2px #f0f0f0;
border-radius: 8px;
display: flex;
align-items: center;
}
.div-trial-title > button{
width: 80px;
height: 35px;
border: none;
color: #fff;
float: right;
border-radius: 5px;
background: #0a7df3;
}
.div-trial-title-tab{
width: 17%;
float: left;
height: 68px;
position: relative;
}
.active{
width: 17%;
float: left;
height: 68px;
position: relative;
border-bottom:solid 2px ;
border-color:#0254a0;
color:#0254a0;
font-weight: bold;
/*background-color: #b8daff;*/
}
.div-trial-title-tab:hover{
width: 17%;
float: left;
height: 68px;
position: relative;
background-color: #b8daff;
}
.div-trial-title-tab-content{
cursor: pointer;
text-align: center;
}
.div-trial-title-tab-img{
width: 68px;
height: 68px;
position: absolute;
top: 10px;
left: 60px;
}
.div-trial-title-tab-title{
width: 100%;
line-height: 30px;
height: 30px;
font-size: 19px;
text-align: center;
position: absolute;
top: 20px;
left: -10px;
}
.div-trial-title-tab-title:before {
content:url("../../../images/business/asynTrial/case.png");
margin-right:10px;
vertical-align: middle;
}
.active .div-trial-title-tab-title:before {
content:url("../../../images/business/asynTrial/case-sel.png");
margin-right:10px;
vertical-align: middle;
}
/*第二个*/
.div-trial-title-tab-title1{
width: 100%;
line-height: 30px;
height: 30px;
font-size: 19px;
/*color: #000000;*/
text-align: center;
position: absolute;
top: 20px;
left: -10px;
}
.div-trial-title-tab-title1:before {
content:url("../../../images/business/asynTrial/issue.png");
margin-right:10px;
vertical-align: middle;
}
.active .div-trial-title-tab-title1:before {
content:url("../../../images/business/asynTrial/issue-sel.png");
margin-right:10px;
vertical-align: middle;
}
/*第3个*/
.div-trial-title-tab-title2{
width: 100%;
line-height: 30px;
height: 30px;
font-size: 19px;
/*color: #000000;*/
text-align: center;
position: absolute;
top: 20px;
left: -10px;
}
.div-trial-title-tab-title2:before {
content:url("../../../images/business/asynTrial/proof.png");
margin-right:10px;
vertical-align: middle;
}
.active .div-trial-title-tab-title2:before {
content:url("../../../images/business/asynTrial/proof-sel.png");
margin-right:10px;
vertical-align: middle;
}
/*第4个*/
.div-trial-title-tab-title3{
width: 100%;
line-height: 30px;
height: 30px;
font-size: 19px;
/*color: #000000;*/
text-align: center;
position: absolute;
top: 20px;
left: -10px;
}
.div-trial-title-tab-title3:before {
content:url("../../../images/business/asynTrial/material.png");
margin-right:10px;
vertical-align: middle;
}
.active .div-trial-title-tab-title3:before {
content:url("../../../images/business/asynTrial/material-sel.png");
margin-right:10px;
vertical-align: middle;
}
/*第5个*/
.div-trial-title-tab-title4{
width: 100%;
line-height: 30px;
height: 30px;
font-size: 19px;
/*color: #000000;*/
text-align: center;
position: absolute;
top: 20px;
left: -10px;
}
.div-trial-title-tab-title4:before {
content:url("../../../images/business/asynTrial/chat.png");
margin-right:10px;
vertical-align: middle;
}
.active .div-trial-title-tab-title4:before {
content:url("../../../images/business/asynTrial/chat-sel.png");
margin-right:10px;
vertical-align: middle;
}
.div-trial-content{
width: 100%;
height: 100%;
margin-top: 10px;
}
function clickTab(index) {
var userId = AW.url.getUrlParam("userId");
var userName = AW.url.getUrlParam("userName");
if (index == '0') {
$("#caseinfo_div").addClass("active");
$("#questionnaire_div").removeClass("active");
$("#proof_div").removeClass("active");
$("#doclist_div").removeClass("active");
$("#chat_div").removeClass("active");
$("#caseinfo_iframe").css('display', 'block');
$("#questionnaire_iframe").css('display', 'none');
$("#proof_iframe").css('display', 'none');
$("#doclist_iframe").css('display', 'none');
$("#chat_iframe").css('display', 'none');
$('#caseinfo_iframe').attr('src', '../../business/syncase/casequery.html?trialId=' + trialId+"&userId="+userId+"&userName="+userName)
} else if (index == '1') {
$("#caseinfo_div").removeClass("active");
$("#questionnaire_div").addClass("active");
$("#proof_div").removeClass("active");
$("#doclist_div").removeClass("active");
$("#chat_div").removeClass("active");
$("#caseinfo_iframe").css('display', 'none');
$("#questionnaire_iframe").css('display', 'block');
$("#proof_iframe").css('display', 'none');
$("#doclist_iframe").css('display', 'none');
$("#chat_iframe").css('display', 'none');
$('#questionnaire_iframe').attr('src', '../../business/issuedetail/issuedetail.html?trialId=' + trialId+"&userId="+userId+"&userName="+userName)
} else if (index == '2') {
$("#caseinfo_div").removeClass("active");
$("#questionnaire_div").removeClass("active");
$("#proof_div").addClass("active");
$("#doclist_div").removeClass("active");
$("#chat_div").removeClass("active");
$("#caseinfo_iframe").css('display', 'none');
$("#questionnaire_iframe").css('display', 'none');
$("#proof_iframe").css('display', 'block');
$("#doclist_iframe").css('display', 'none');
$("#chat_iframe").css('display', 'none');
$('#proof_iframe').attr('src', '../../business/proof/proof.html?trialId=' + trialId)
} else if (index == '3') {
$("#caseinfo_div").removeClass("active");
$("#questionnaire_div").removeClass("active");
$("#proof_div").removeClass("active");
$("#doclist_div").addClass("active");
$("#chat_div").removeClass("active");
$("#caseinfo_iframe").css('display', 'none');
$("#questionnaire_iframe").css('display', 'none');
$("#proof_iframe").css('display', 'none');
$("#doclist_iframe").css('display', 'block');
$("#chat_iframe").css('display', 'none');
$('#doclist_iframe').attr('src', '../../business/synsign/synsign.html?trialid=' + trialId+"&userId="+userId+"&userName="+userName)
} else if (index == '4') {
$("#caseinfo_div").removeClass("active");
$("#questionnaire_div").removeClass("active");
$("#proof_div").removeClass("active");
$("#doclist_div").removeClass("active");
$("#chat_div").addClass("active");
$("#caseinfo_iframe").css('display', 'none');
$("#questionnaire_iframe").css('display', 'none');
$("#proof_iframe").css('display', 'none');
$("#doclist_iframe").css('display', 'none');
$("#chat_iframe").css('display', 'block');
$('#chat_iframe').attr('src', '../../business/synchat/synchat.html?trialid=' + trialId+"&userId="+userId+"&userName="+userName)
}
}
如果样式一致,可以不挨个写,如下:
<div class="sidebar-inner" id="sidebar_list">
<div id="div-sidebar-title-0" onclick="clickSiderbar('0')" class="div-sidebar-title">
<div title="基本事实要素问题" class="div-sidebar-title-text">
<a id="div-sidebar-a-0" href="#858d9d4f5121e606f248de349f6089c9">基本事实要素问题</a>
</div>
</div>
<div id="div-sidebar-title-1" onclick="clickSiderbar('1')" class="div-sidebar-title">
<div title="工资支付" class="div-sidebar-title-text">
<a id="div-sidebar-a-1" href="#858d9d4f5121e606f248de349f6089c2">工资支付</a>
</div>
</div>
</div>
.sidebar-inner{
position: fixed;
left: 50px;
z-index: 99;
border-right: 1px solid #e6e6e6;
display: flex;
flex-direction: column;
align-items: flex-end;
}
.div-sidebar-title-text{
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
width: 100%;
text-align: right;
}
.div-sidebar-title{
font-size: 16px;
color: #999999;
height: 35px;
width: 100%;
line-height: 35px;
display: flex;
flex-direction: column;
align-items: flex-end;
padding-right: 8%;
color: black;
}
.active{
border-right: solid 4px;
border-color: #0254a0;
color: #0254a0;
font-weight: bold;
}
.div-sidebar-title:hover{
border-right: solid 4px;
border-color: #0254a0;
color: #0254a0;
font-weight: bold;
cursor: pointer;
}
function clickSiderbar (index,id) {
//必须先removeClass再addClass,不然添加不上
$(".div-sidebar-title").removeClass("active");
$(".sidebar-inner>div>div>a").removeClass("font_black");
$(".sidebar-inner>div>div>a").removeClass("font_blue");
$(".sidebar-inner>div>div>a").addClass("font_black");
$("#div-sidebar-title-"+index).addClass("active");
$("#div-sidebar-a-"+index).removeClass("font_black");
$("#div-sidebar-a-"+index).addClass("font_blue");
}