css常用技巧
1 文本缩进: <text>设置没有效果..<view>设置有效果
text-indent:50px;
2 配置整个页面的背景色css关键代码
.body {
width: 100%;
height: 100%;
position: fixed;
top: 0;
left: 0;
background-color: #EFEFEF;
}
3 关于right属性无效的原因:right属性只有在position是absolute的情况下才有效,而默认的position值是static,right属性是无效的。建议能不使用right就不要使用right属性。
4 设置位置在距离右侧多远距离:注: position:要设置成absolute
.choseView image {
position: absolute;
top: 46rpx;
right: 30rpx;
display: inline-block;
width: 17rpx;
height: 30rpx;
}
5 强制不换行
white-space:nowrap;
自动换行
div{
word-wrap: break-word;
word-break: normal;
}
强制英文单词断行
div{
word-break:break-all;
}
6: margin-bottom 失效
margin-bottom是下方的外边距,并不能让元素向下方移动,margin-top作为上边距,把元素“推”了下去。
希望图标距离下方30px,那么可以在ul上设置position: absolute,bottom: 30px ,(这一句我没有加同样实现了效果)另外父元素position:relative
7 overflow: hidden;
当强制不换行的时候,使用overflow:hidden隐藏超过界面的部分
8: text-overflow 当属性规定当文本溢出包含元素时发生的事情
clip: 修剪文本
ellipsis : 用省略号来代表被修剪的文字
string: 使用给定的字符串来代表被修剪的文字
重点是三个同时使用:text-overflow:ellipsis; white-space:nowrap; overflow:hidden;
9 : 设置最高高度..超过后可以滑动
max-height: 550rpx;
overflow-y: scroll;
10 : 用纯CSS创建一个三角形的原理
把上、左、右三条边隐藏掉(颜色设为 transparent)
- #demo {
- width: 0;
- height: 0;
- border-width: 20px;
- border-style: solid;
- border-color: transparent transparent red transparent;
- }
11 : active下边添加横线使用active:after //内容之后插入新内
.active:after{
content: "";
display: block;
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 4rpx;
background: #31c27c;
}
12:创建小三角 倒三角
倒三角
border-bottom: 4px solid #61beff;
border-top:0;
13: z-index
z-index: 99; 越在上边值越大
有时会失效:尝试一下设置: position: relative;
z-index导致下滑的控件a导致紧邻的控件b下移解决方法:
.b {
position:fixed;
top : 0;
z-index:x;
}
14: 文本保持短的时候居中,长的时候则据左
<view class="box-container">
<view class="box-content">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ipsam quasi pariatur excepturi nemo autem illum neque soluta, voluptate debitis nobis, officiis iure eligendi dignissimos magnam commodi hic delectus at accusantium.</view>
</view>
<view class="box-container">
<view class="box-content">Lorem ipsum dolor sit amet.</view>
</view>
.box-container {
font-size: 14px;
width: 300px;
margin: 25px auto;
color: #fff;
border-radius: 5px;
text-align: center;
}
.box-content {
display: inline-block;
text-align: left;
vertical-align: middle;
}
15:CSS中overflow:scroll怎么设置只上下滚动而不左右滚动
如果左右没有超出内容时,用overflow:auto;
如果左右有超出内容,用overflow-x:hidden;
.page{
overflow: auto;
overflow-x: hidden;
}
16 图片水平居中
position 属性规定元素的定位类型。这个属性定义建立元素布局所用的定位机制。任何元素都可以定位,不过绝对或固定元素会生成一个块级框,而不论该元素本身是什么类型。相对定位元素会相对于它在正常流中的默认位置偏移。
上下左右 居中
div{
position:fixed;
margin:auto;
left:0;
right:0;
top:0;
bottom:0;
width:200px;
height:150px;
}
如果只需要左右居中,那么把 bottom:0; 或者 top:0; 删掉即可
如果只需要上下居中,那么把 left:0; 或者 right:0; 即可
下面附一个DIV 元素在浏览器窗口居中
其实,实现这个效果并不复杂,利用 CSS 中的 position 定位就可以轻松搞定了。来看看代码吧:
<style type="text/css">
.dialog{
position: fixed;
_position:absolute;
z-index:1;
top: 50%;
left: 50%;
margin: -141px 0 0 -201px;
width: 400px;
height:280px;
border:1px solid #CCC;
line-height: 280px;
text-align:center;
font-size: 14px;
overflow:hidden;
}
</style>
<div class="dialog">我是在窗口正中央的,呵呵!</div>
设置的技巧全部在这里:
.dialog{
position: fixed;
_position:absolute; /* hack for IE6 */
z-index:1;
top: 50%;
left: 50%;
margin: -141px 0 0 -201px;
width: 400px;
height:280px;
border:1px solid #CCC;
line-height: 280px;
text-align:center;
font-size: 14px;
overflow:hidden;
}
设置 position: fixed; _position:absolute;
设置 left:50% 和 top:50%;
设置 margin: -(DIV的offsetWidth/2) 0 0 -(DIV的offsetHeight/2)
16 如何居中div?
- 水平居中:给div设置一个宽度,然后添加margin:0 auto属性
div{
width:200px;
margin:0 auto;
} - 让绝对定位的div居中
div {
position: absolute;
width: 300px;
height: 300px;
margin: auto;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: pink; /* 方便看效果 */
} - 水平垂直居中一
确定容器的宽高 宽500 高 300 的层
设置层的外边距
div {
position: relative; /* 相对定位或绝对定位均可 */
width:500px;
height:300px;
top: 50%;
left: 50%;
margin: -150px 0 0 -250px; /* 外边距为自身宽高的一半 */
background-color: pink; /* 方便看效果 */
} - 水平垂直居中二
未知容器的宽高,利用 `transform` 属性
div {
position: absolute; /* 相对定位或绝对定位均可 */
width:500px;
height:300px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: pink; /* 方便看效果 */
} - 水平垂直居中三
利用 flex 布局
实际使用时应考虑兼容性
.container {
display: flex;
align-items: center; /* 垂直居中 */
justify-content: center; /* 水平居中 */
}
.container div {
width: 100px;
height: 100px;
background-color: pink; /* 方便看效果 */
}
posted on 2017-08-21 14:50 taiyang2014 阅读(211) 评论(0) 编辑 收藏 举报