CSS实用技巧

浮动元素不换行

作豆瓣的时候模仿豆瓣的正在热映的列表作的一个样式,效果及代码以下
clipboard.pngjavascript

.item-lists {
    overflow-x: auto;
    white-space: nowrap;
    font-size: 0;
    padding: 15px 0 30px 0; /*no*/
    /*去掉滚动条*/
    &::-webkit-scrollbar {
       display: none;
    }
        .item {
            display: inline-block;
            width: 100px; /*no*/
            margin-left: 40px;
            vertical-align: top;
            &:nth-of-type(1) {
              margin-left: 0;
        }
}

最主要的就是要在在父元素设置white-space: nowrap;来保证子元素强制不换行css

设置子元素与父元素等大小

以前咱们写这样的了能就是为子元素设置width:100%;height:100%;,其实也能够使用以下的写法java

.parent{
  position:relative;
  width:200px;
  height:200px;
  .child{
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      background-color: red;  
  }
}
/*也就是说子元素不设置高度和宽度,经过absolute的属性将子元素‘撑开’到父元素的大小*/
/*若是咱们设置了如left:20px; right:20px;那么就至关于设置父元素padding:0 20px;子元素设置width:100%;*/

元素等大小左右浮动

clipboard.png

以前若是咱们想要实现一个这样的效果,可能会使用浮动,如今能够考虑使用以下的写法web

ul{
    width: 100%;
    padding:0 18px;/*no*/
    box-sizing: border-box;
    margin-top: 30px;/*no*/
    >li{
        width: 50%;
        padding: 3px;/*no*/
        float: left;
        box-sizing: border-box;
        text-align: center;
        font-size: 15px;/*no*/
        background-color: #ffffff;
        a{
          display: block;
          padding: 12px 0;/*no*/
          width: 100%;
          height: 100%;
          background-color: #f6f6f6;
          color: #333;
        }
    }
}

元素向上/向左拉伸

CSS默认状况下盒子的长度变化是由上向下的方向进行变化,宽度变化是由左向右,有时候须要实现盒子由底层弹出,或者盒子由右侧向左弹出的效果,能够使用以下代码,由右向左同理less

.test {
    position: absolute;
    bottom: 0;
    width: 100px;
    height: 10px;
    background-color: red;
}

测试效果测试

$(".test").animate({"height": "100px"}, 2000)