多行文本超出指定行数后以省略号显示

    -webkit-line-clamp 属性指定行数

    1. <!-- 超出5行 -->
    2. p {
    3. display: -webkit-box;
    4. overflow: hidden;
    5. white-space: normal;
    6. text-overflow: ellipsis;
    7. -webkit-box-orient: vertical;
    8. -webkit-line-clamp: 5;
    9. }

    单行文本超出一行后以省略号显示,可以指定宽度

    1. p {
    2. overflow: hidden;
    3. white-space: nowrap;
    4. text-overflow: ellipsis;
    5. }

    宽高均以百分比设置

    一个div的宽度不固定,设置成20%,现在想让这个div变成正方形,高度也设置成20%,不管用

    1. .circle{
    2. width: 20%;
    3. padding-top: 100%;
    4. }

    因为当一个div的高度没有时,它的padding值设百分数的话,就依据宽度来定,所以padding-top:100%;就是宽度的值;这样高=宽。

    这种方法有一个问题,div里边的内容就要用绝对定位来写了。

    单行或多行文字自适应垂直居中

    1. .vertical {
    2. display: table;
    3. position: absolute;
    4. top: 0;
    5. left: 0;
    6. right: 0;
    7. bottom: 0;
    8. margin: auto;
    9. }

    子元素横轴线垂直居中

    1. .vertical {
    2. display: -webkit-flex;
    3. display: -webkit-box;
    4. display: -ms-flexbox;
    5. display: -moz-box;
    6. display: flex;
    7. align-items: center;
    8. }

    不知道子元素高度情况下子元素垂直居中

    1. parentElement {
    2. display: flex;
    3. display: -webkit-flex;
    4. align-items: center;
    5. }
    6. childElement {
    7. margin: 0 auto;
    8. }

    使用flex布局实现横向内容滚动,仅仅设置父容器display不行

    1. .parent {
    2. diplay: flex;
    3. overflow: auto;
    4. }
    5. /* 还需要设置子元素flex:none保证不被压缩 */
    6. .children {
    7. flex:none
    8. }

    flex布局上下左右垂直居中

    1. .parent {
    2. display: flex;
    3. justify-content: center;
    4. align-items: center;
    5. }

    文本不可被选中复制

    1. body {
    2. -webkit-user-select: none;
    3. -moz-user-select: none;
    4. -ms-user-select: none;
    5. user-select: none;
    6. }

    多行段落文本两端对齐

    1. p {
    2. text-align: justify;
    3. }