html布局

css 布局用到的相关属性

2018-12-25  本文已影响10人  杨杨1314

一:display: table

display:table解决了一部分需要使用表格特性但又不需要表格语义的情况,设置固定的父元素宽度,可以使若干个子元素平分宽度。

例如:

 <view class='demo1'>
    <view>1111</view>
    <view>2222</view>
    <view>3333</view>
  </view>
.demo1 {
  display: table;
  width: 85%;
  margin: 30rpx auto;
  border: 1px solid red;
  padding: 15rpx;
}

.demo1 view {
  display: table-cell;
  padding: 10rpx;
  border: 1px solid green;
  border-right: none;
  text-align: center;
  vertical-align: middle;
}

.demo1 view:last-child {
  border-right: 1px solid green;
}

效果图:


image.png

二:display: table-cell

该属性指让标签元素以表格单元格的形式呈现,类似于td标签。目前IE8+以及其他现代浏览器都是支持此属性的,但是IE6/7不支持。利用这个特性可以实现文字的垂直居中效果。同时它也会破坏一些CSS属性,使用table-cell时最好不要与float以及position: absolute一起使用。对margin值无反应,可以响应padding的设置。对高度和宽度高度敏感 ,不要对display:table-cell使用百分比设置宽度和高。

例如:

<view class='cell'>table cell</view>
.cell {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  padding-left: 50rpx;/*起作用 */
  margin-left: 50rpx;/*不起作用 */
}

效果图:


距离为padding设置的距离


不设置padding,table-cell会垂直居中

三:vertical-align 垂直(居上,居中,居下)

vertical-align 属性设置元素的垂直对齐方式。 以前想要一些元素垂直居中对齐,经常用line-height,可是对于图片来说,line-height的表现并不理想,所以得用vertical-align:middle。
使用方法:

1:父元素(inline-block\block)必须含有line-height(inline元素有无皆可),子元素中的(inline-block/inline元素)vertical-align才能起作用。
2:vertical-align不可继承,必须对子元素单独设置。
例如:

 <view class='demo3'>
    <image src='/images/employeeList/zhanyuan.png'></image>
  </view>
.demo3{ width:200px; height:200px; line-height:200px; border: 1px solid red;}
.demo3 image{ height:100px; width:100px;vertical-align:middle;}

效果图:


image.png

四:justify-content align-items

justify-content align-items 是flex盒子模型的属性

justify-content 用于设置弹性盒子元素在主轴(横轴)方向上的对齐方式。
align-items 用于设置弹性盒子元素的侧轴(纵轴)方向上的对齐方式。
例如:

<view class='flex-text'>flex</view>
.flex-text {
  width: 200rpx;
  height: 200rpx;
  border: 1px solid red;
  display: flex;
  justify-content: center;/* 横轴居中 */
  align-items: center;/* 纵轴居中 */
}

效果图:


横轴纵轴居中
上一篇下一篇

猜你喜欢

热点阅读