美文网首页
CSS一些小技巧

CSS一些小技巧

作者: 江湖竖子 | 来源:发表于2018-06-13 18:18 被阅读8次

搭建网页过程中,掌握一些CSS的小技巧,能够快速提高开发的效率,花了些许时间,学习整理了一些CSS布局技巧。


1.左右布局

左右布局,是最长用到的布局之一,内联元素默认根据文档流的方式,就是左右布局。采用内联元素进行左右布局,是最常见的左右布局方式。

但有时候,既需要块级元素的一些特性,又想要左右布局方式,实现的方式有很多,各种方式有有点也有缺点,这里只介绍一种最安全稳妥的方式,float:leftfloat:right,脱离文档流的方式,下面介绍这种方式。

例子:

<div class="clearfix">
    <div class="float-left">我想左右布局</div>
    <div class="float-left">我也想左右布局</div>
</div>
.clearfix:after{
  content:'';
  display:block;
  clear:both;
}
.float-left{
  float:left;
}

左右布局,只要给要进行左右布局的块级元素,添加float:left;元素就可以脱离文档流,进行左右布局。但是由于脱离文档流后,产生了父级无法包裹住浮动后的元素的问题。解决的方式是,在父级的伪元素::after中添加三个样式。

content:' '
display:block;
clear:both;

切记,三个样式是在父级的伪元素::after中添加,需要布局的元素只需要一个float浮动。


2.左中右布局

左中右布局,可以分为很多种。常见的有三等分、中间自适应左右固定宽度。

三等分
  • 浮动布局+百分比
  • inline-block+百分比
  • 父元素 display:table + 子元素 display:table-cell
  • display:flex;
  • bootstrap栅格系统

三等分的布局方式范式有很多,不局限与上面的几种方式。

中间自适应左右固定宽度

中间自适应,左右固定的方式,这是网页设计中,最常见的布局方式,有很多种实现方方式。下面一一介绍。

  1. 绝对定位布局
    绝对定位布局,用到的是position脱离文档流的方式。在父级添加相对定位,给左右两栏设置宽度并添加绝对定位,分别定位于左右,中间栏则给一个左右margin值,margin值得大小为左右栏的宽度大小。

  2. 普通浮动布局
    浮动布局,则是用之前讲过的float属性,给左栏的样式添加float:left,给右栏的样式添加float:right,中间栏的样式添加左右margin值,margin值为左右栏的宽度大小。

  3. 圣杯布局
    圣杯布局,是Kevin Cornell在2006年提出的一个布局模型概念,圣杯布局的主要要求是:1.三列布局,中间宽度自适应,两边定宽。2.中间栏要在浏览器中优先展示渲染(即中间栏的div放在左右栏的前面)。布局的方式详见代码展示。

  4. 双飞翼布局
    双飞翼布局和圣杯布局方案有一半是相同的,在左中右三栏全部float浮动,但左右两栏加上负margin让其跟中间栏div并排,以形成三栏布局。

  5. flex布局
    了解flex
    了解flex效果
    Flexible Box 缩写为flex,意思为”弹性布局”,能够给盒子模型很大的灵活性。
    任何一个容器都可以指定为 flex 布局,所以flex 布局将成为未来布局的首选方式。

以上五个布局方式代码,可查看五个布局方式代码
以上五个布局方式效果,可查看五个布局方式代码效果


3.水平居中

水平居中的布局方式,也是前端开发中最常见的的方式,大概可以分为内联元素水平居中和块级元素水平居中。

水平居中公用的HTML

<div class="dad">
  <span class="son">内联元素水平居中</span>
</div>

1.内联元素水平居中
把内联元素包裹在块级元素中,在块级元素中添加,text-align:center样式即可实现水平居中。

.dad{
  text-align:center;
}

.
2.块级元素水平居中
块级元素实现水平居中的方式有很多的解决方式

  • margin:auto; 最常见的块级元素水平居中解决方式,前提是得设置宽度值width。
.son{
  width:50%;
  margin:auto;
}

.

  • display:inline-block;把块级元素设置为块级内联元素,则在父级元素添加text-align:cente,和内联元素的一致。
.dad{
display:inline-block;
}

.

  • display:flex;设置弹性布局,在父级添加display:flex及justify-content:center,子元素则可以水平居中。
.dad{
display:flex;
justify-content:center
}

.

  • float:left与position;
    给要居中的元素添加float:left,使其脱离文档流。然后通过position进行居中定位。

这个方式,适用于父元素和子元素的宽度都确定的情况。
使用时,父元素position:relative,子元素position:absolute,然后通过left定位。

.dad{
width:800px;
position:relative;
}
.son{
width:400px;
position:absolute;
top:0;
left:200px;
}

4. 垂直居中

垂直居中公用的HTML

<div class="dad">
  <span class="son">内联元素垂直居中</span>
</div>

1.内联元素垂直居中

.son{
  height:200px;
  line-height:200px;
}

2.块级元素垂直居中

  • margin-top,这个方式是已经确定了父级和子级高度的情况下使用,对于高度不确定的,不适合。
.dad{
 height:300px;
}
.son{
height:200px;
margin-top:50px;
}

.

  • 绝对定位垂直水平居中方式,前提是已经确定了宽度和高度。
dad{
  position:relative;
}
.son{
position:absolute;
top:0;
left:0;
bottom:0;
right:0;
margin:auto;
}

.

  • 绝对定位垂直水平居中方式,未知宽度和高度。
.dad{
  position:relative;
}
.son{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);  /* 使用css3的transform来实现 */
}

  • flex布局实现垂直水平居中,需要设置父级高度。
.dad{
    display: flex;
    justify-content:center;
    align-items: center;
    height: 300px;
}

.

5. 其他CSS小技巧

  • border绘制三角形

HTML

<div class="triangle"></div>

CSS

.triangle{
border:100px solid transparent;
width:0px;
height:0px;
border-left-color:green;
}
  • 用max-width来防止图片撑破容器
    针对大小未知的内容,为了防止内容过大而撑破容器,可以通过设置图片的max-width:100%来处理;

HTML

<div class="dad">
  <div class="son"></div>  
</div>

CSS

.son{
  display:inline-block;
  max-width: 100%;  
}
  • 用font-size:0来清除inline-blcock产生的间距
    使用inline-block后元素之间产生空白间隙,差不多会有一个字符的间隙。解决方式,可以使用元素浮动float,或者压缩html,清除元素间的空白。不过最简单方式,是直接设置父元素的font-size属性为0。

还有更多小技巧...

相关文章

  • CSS一些小技巧

    搭建网页过程中,掌握一些CSS的小技巧,能够快速提高开发的效率,花了些许时间,学习整理了一些CSS布局技巧。 1....

  • CSS 一些小技巧 一

    左右布局,左边不动,右边随动 文本超出省略 图片列表优化 响应式图片 利用多倍图去适配不同 dpr 的屏幕 图片丢...

  • CSS一些小技巧 二

    用CSS计算选中标签元素 通常都是用JS来处理已经选择了的标签数量,css也可以做到。但是意义不大,除非单纯展示。...

  • 分享CSS的一些小技巧

    两栏布局 三栏布局 水平居中 行内元素 块级元素 垂直居中 行内元素 块级元素 渐变边框

  • css布局和一些小技巧

    1左右布局 以下是html部分,一个父元素,两个子元素,要将子元素左右两栏布局。 111 22 最常见的方...

  • CSS常见布局以及一些小技巧

    左右布局 float浮动 可以将左边和右边的块级元素都设置为float:left; 可以将左边的块级元素设置为fl...

  • CSS 基本布局以及一些小技巧

    1. 左右布局 如果有以下html结构,设置左右两栏布局 设置浮动:左右布局常用的方法就是为子元素设置浮动,然后在...

  • CSS教程汇总

    CSS揭秘实用技巧总结 不止于 CSS 灵活运用CSS开发技巧 前端基础篇之CSS世界 你未必知道的49个CSS知...

  • 常用的一些 CSS 技巧三

    你可以看看其他常用的 CSS 技巧: 常用的一些 CSS 技巧(一)[https://www.jianshu.co...

  • css的一些小技巧(持续更新中)

    div区中的技巧 方法一 方法二 方法三

网友评论

      本文标题:CSS一些小技巧

      本文链接:https://www.haomeiwen.com/subject/mpldeftx.html