我的博客平面设计

问题:不管页面怎么变化时~约束图片的大小始终占页面总宽度的某个百分比~假设以32%为例

解决:

1、给图片加一个父元素~设置父元素的宽度占整个屏幕的32%~

2、将图片宽度设为100%(这一步很重要~只有加上这句~图片才会被约束在父元素中~)

 

html代码:

<section class="gray-section">
        <div class="article-preview">
            <div class="image-section">
                <img src="imgs/pic01.jpg" alt="图片1"/>
            </div>
            <div class="text-section">
                <h2>有一个标题</h2>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus quo ratione rem, rerum ullam.
                </p>
            </div>
        </div>
    </section>

 

css代码:(采用less编写)

.gray-section {
  .image-section {
    width: 32%;
    img {
      width: 100%;
    }
  }
}

 

问题:div内所有的元素都浮动后~这个作为父元素的div的高度变为0了~

原因:div是块级元素~在不设置高度的情况下其高度是由子元素内容撑起来的~当所有的子元素都浮动后~父级div的高度就为0了

解决:对父级div做清除浮动的操纵~具体代码如下:

html代码:

<div class="article-preview">
            <div class="image-section">
                <img src="imgs/image1.jpg" alt="图片1"/>
            </div>
            <div class="text-section">
                <h2>有一个标题</h2>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus quo ratione rem, rerum ullam.
                </p>
            </div>
        </div>

 

css代码:(采用less编写)

.article-preview {
    > div {//子元素全部浮动了
      float: left;
    }
    &:after {
      content: '';
      display: block;
      clear: both;
    }
  }

 

问题:图片有间隙(如下如图所示)

解决:如果不是margin和padding的原因~那可能就是由于字体大小不同导致行高的问题~解决方式为在直接父元素上重置字体大小为0~之后对子元素的字体再按需要设置大小

html代码:

<div class="article-preview">
            <div class="image-section">
                <img src="imgs/image1.jpg" alt="图片1"/>
            </div>
            <div class="text-section">
                <h2>有一个标题</h2>
                <p>
                    Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus quo ratione rem, rerum ullam.
                </p>
            </div>
        </div>

 

css代码:

.article-preview {
    font-size: 0;//-------------------字体大小重置为0
    > div {//子元素全部浮动了
      float: left;
    }
    &:after {
      content: '';
      display: block;
      clear: both;
    }

    .text-section {
      width: 45%;
      position: relative;
      top: 68px;
      left: 50px;
      h2 {
        margin-bottom: 20px;
        font-size: 20px;//-------------------重置后再设置字体大小
      }

      p {
        width: 100%;
        font-size: 18px;//-------------------重置后再设置字体大小
        letter-spacing: 1px;
      }
    }
  }

 

问题:让导航条固定到顶端

html代码:

<nav>
    <div class="logo"><a href="#">刘小X</a></div>
         <div class="menu">
              <a href="javascript:void(0);">
                  <hr/>
                  <hr/>
                  <hr/>
              </a> 
          <div id="myHover"></div>
    </div>
</nav>

 

css代码:

.newNav {
  background:rgba(100,100,100,0.7);
  width:100%;
  position:fixed;
  height:@navHeight;
  top:0;
  z-index:1000;
}

 

如果想页面滑动到看不到导航条时才出现导航条固定在顶端的效果~则要用js实时处理滚动事件~当发现滚动长度大于顶端导航条高度时就添加写好的newNav类到nav标签

js代码:

$(window).scroll(function() {
    if(document.body.scrollTop > 50){
        $("nav").addClass("newNav");
    }
    else {
        $("nav").removeClass("newNav");
    }
});

 

posted @ 2015-11-10 22:59  Liujunyan_x  阅读(258)  评论(0编辑  收藏  举报