1.margin负值的应用
1)让每个盒子margin往左侧移动 -1px 正好压住相邻盒子边框
2)鼠标经过某个盒子的时候,提高当前盒子的层级即可(如果没有有定位,则加相对定位(保留位置),如果有定位,则加z-index)
<style>
ul li {
position: relative;
float: left;
list-style: none;
width: 150px;
height: 200px;
border: 1px solid rebeccapurple;
margin-left: -1px;
}
/* ul li:hover {
1.如果盒子没有定位,则鼠标经过添加相对定位即可
position: relative;
border: 1px solid skyblue;
} */
ul li:hover {
/* 2.如果li都有定位,则利用z-index提高层级 */
z-index: 1;
border: 1px solid skyblue;
}
</style>
2.文字围绕浮动元素
<style>
* {
margin: 0;
padding: 0;
}
.box {
width: 300px;
height: 70px;
background-color: slateblue;
margin: 0 auto;
padding: 5px;
}
.pic {
float: left;
width: 120px;
height: 60px;
margin-right: 5px;
}
.pic img {
width: 100%;
}
</style>
</head>
<body>
<div class="box">
<div class="pic">
<img src="images/img.png" alt="">
</div>
<p>我是一个保安,上班为了下班.我是一个保安,上班为了下班..</p>
</div>
</body>
3.行内块的巧妙运用
行内块元素可以设置高度和宽度,也可以在一行上,并且中间有缝隙,就不需要调margin值,而且行内块元素最大的特点是给父盒子添加text-align:center;所有的行内块元素都能实现水平对齐
<style>
* {
margin: 0;
padding: 0;
}
.box {
text-align: center;
}
.box a {
display: inline-block;
width: 36px;
height: 36px;
background-color: #f7f7f7;
border: 1px solid #ccc;
text-align: center;
line-height: 36px;
text-decoration: none;
color: #333;
}
.box .prev,
.box .next {
width: 85px;
}
.box .current,
.box .elp {
background-color: #fff;
border: none;
}
.box input {
height: 36px;
width: 45px;
border: 1px solid #ccc;
outline: none;
}
.box button {
width: 60px;
height: 36px;
background-color: #f7f7f7;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<div class="box">
<a href="#" class="prev"><<上一页</a>
<a href="#" class="current">2</a>
<a href="#">3</a>
<a href="#">4</a>
<a href="#">5</a>
<a href="#">6</a>
<a href="#" class="elp">...</a>
<a href="#" class="next">>>下一页</a>
到第
<input type="text">
页
<button>确定</button>
</div>
</body>
4.css三角强化
完成
<style>
.box1 {
width: 0;
height: 0;
/* 把上边框宽度调大 */
/* border-top: 100px solid transparent;
border-right: 50px solid skyblue; */
/* 左边和下边的边框宽度设置为0 */
/* border-bottom: 0px solid blue;
border-left: 0px solid purple; */
/* 1.只保留右边的边框有颜色 */
border-color: transparent red transparent transparent;
/* 2.样式都是solid */
border-style: solid;
/* 3.上边框宽度要大, 右边框 宽度稍小, 其余边框该为0 */
border-width: 100px 50px 0 0;
}
.price {
width: 160px;
height: 24px;
line-height: 24px;
border: 1px solid red;
margin: 0 auto;
}
.miaosha {
position: relative;
float: left;
width: 90px;
height: 100%;
background-color: red;
text-align: center;
color: #fff;
font-weight: 700;
margin-right: 8px;
}
.miaosha i {
position: absolute;
right: 0;
top: 0;
width: 0;
height: 0;
border-color: transparent #fff transparent transparent;
border-style: solid;
border-width: 24px 10px 0 0;
}
.origin {
font-size: 12px;
color: gray;
text-decoration: line-through;
}
</style>
</head>
<body>
<div class="box1"></div>
<div class="price">
<span class="miaosha">
¥1650
<i></i>
</span>
<span class="origin">¥5650</span>
</div>
</body>
5.css初始化
css初始化是指重设浏览器的样式(CSS reset)
每个网页都必须首先进行css初始化
/* 把我们所有标签的内外边距清零 */
*{
margin:0;
padding:0
}
/* em和i斜体的文字不倾斜 */
em,
i{
font-style:normal
}
/* 去掉li的小圆点 */
li{
list-style:none
}
img{
/* border:0;是照顾低版本浏览器 如果 图片外面包含了链接会有边框的问题 */
border:0;
/* 取消图片底侧有空白缝隙的问题 */
vertical-align:middle
}
button{
/* 当我们鼠标经过button 按钮的时候,鼠标变成小手 */
cursor:pointer
}
a{
color:#666;
text-decoration:none
}
a:hover{
color:#c81623
}
button,
input{
font-family:Microsoft YaHei,Heiti SC,tahoma,arial,Hiragino Sans GB,"\5B8B\4F53",sans-serif
}
body{
/* css3中的 抗锯齿性 让文字显示的更加清晰 */
-webkit-font-smoothing:antialiased;
background-color:#fff;
/* 把中文字体的名称用相应的Unicode编码来替代,这样就可以有效避免浏览器解释css代码的时候出现乱码的问题
黑体 \9ED1\4F53
宋体 \5B8B\4F53
微软雅黑 \5FAE\8F6F\96C5\9ED1 */
font:12px/1.5 Microsoft YaHei,Heiti SC,tahoma,arial,Hiragino Sans GB,"\5B8B\4F53",sans-serif;
color:#666
}
.hide,
.none{
display:none
}
/* 清除浮动 */
.clearfix:after{
visibility:hidden;
clear:both;
display:block;
content:".";
height:0
}
.clearfix{
*zoom:1
}