css的display用法

page {
  height: 100vh;
}

.container {
	background: #f8f8f8;
	padding:20rpx 30rpx 30rpx;
}
 
.a-popular {
  width: 690rpx;
  height: auto;
  overflow: hidden;
  /* padding: 0 20rpx; */
  /* margin: -18rpx 0 0; */
}

.popular-item {
	border-radius: 20rpx;
	margin: 0 0 40rpx 0;
	min-height: 380rpx;
	width: 690rpx;
	background: #fff;
	/* padding: 20rpx  0rpx  0rpx 0rpx; */
	display: flex;
	flex-direction: column;
}

.item-img-wrapper {
	position: relative;
	border-radius: 20rpx;
	font-size: 0;
}

.item-img-wrapper .img {
	width: 690rpx;
	height: 388rpx;
	border-radius: 20rpx 20rpx 0rpx 0rpx;
}

.item-main {
  display: flex;
  /* align-items: center; */
  justify-content: space-evenly;
  height: 90rpx;
	margin: 20rpx 0 10rpx;
	/* padding-left:20rpx; */
}

.item-sub {
  display: flex;
	flex-direction: column;
	/* text-align: center; */
	align-items: center;
	font-size:26rpx;
	color:#333;
}

.item-sub span{
	color: #ed5757;
	font-family: Arial;
	font-weight: 700;
}
.item-sub .desc{
	font-size: 24rpx;
}
.gang{
	background: #ededed;
	width:4rpx;
	height:50rpx;
	margin-top:16rpx;
}
<view class="container">
	<view class="a-popular">
		<view wx:for="{{projectList}}" wx:for-index="index" wx:for-item="item" wx:key="id">
			<navigator url="/pages/goods/goods?id={{item.id}}" class="popular-item">
				<view class="item-img-wrapper">
					<image class="img" src="{{item.cover}}"></image>
				</view>
				<view class="item-main">
					<view class="item-sub">
						<view><span>8-10</span>月</view>
						<view class="desc">办理周期</view>
					</view>

					<view class="gang"></view>

					<view class="item-sub">
						<view><span>500万日元</span></view>
						<view class="desc">投资额度</view>
					</view>

					<view class="gang"></view>

					<view class="item-sub">
						<view><span>长期签证</span></view>
						<view class="desc">身份类型</view>
					</view>

					<view class="gang"></view>
					
					<view class="item-sub">
						<view><span>¥5</span>万</view>
						<view class="desc">服务费</view>
					</view>
				</view>
					


			</navigator>
		</view>
	</view>
</view>
 Page({
 	data: {
 		projectList: [{
 				id: 1,
 				name: '日本经营管理签证',
 				cover: 'abc.png',
 				time: '8-10',
 				unit: '年'
 			},
 			{
 				id: 2,
 				name: '日本经营管理签证',
 				cover: 'https://abc.png',
 				time: '8-10',
 				unit: '年'
 			},
 			{
 				id: 3,
 				name: '日本经营管理签证',
 				cover: 'https://abc.png',
 				time: '8-10',
 				unit: '年'
 			},
 			{
 				id: 4,
 				name: '日本经营管理签证',
 				cover: 'https://abc.png',
 				time: '8-10',
 				unit: '年'
 			}
 		]
 	},
 	onLoad: function (n) {

 	},
 	onReady: function () {},
 	onShow: function () {},
 	onHide: function () {},
 	onUnload: function () {},
 	onShareAppMessage: function () {}
 });

### CSS `display` 属性常用方法及其封装技术 #### 一、`display` 属性概述 在网页开发中,`display` 是一个重要的 CSS 属性,用于控制元素的显示方式以及其内部子元素的行为模式。不同的取值决定了元素属于何种类型的盒模型,进而影响页面布局效果[^2]。 #### 二、常见 `display` 取值介绍 - **inline** - 行内元素,默认情况下不会独占一行展示,多个 inline 元素可以在同一行排列。 - **block** - 块级元素,每个 block 元素都会占据新的一行空间,并且宽度默认为父容器的100%。 - **inline-block** - 结合了上述两种特性的中间状态,既像行内元素那样允许在同一行并列存在,又具备块状元素可设置宽高特性。 - **none** - 隐藏该元素的同时移除它所占用的空间,在 DOM 流中完全消失。 - 创建弹性盒子容器,使直接子项成为灵活项目(Flex Items),能够方便地实现复杂而响应式的布局方案[^3]。 ```css /* 示例 */ .container { display: flex; } .item { /* 子元素自动变为 Flex Item */ } ``` #### 三、基于 `display` 的组件化封装实践 为了提高代码复用性和维护效率,可以通过预处理器如 SASS 或者 LESS 来创建混合宏(mixin)、函数等功能来简化样式编写过程;也可以利用现代前端框架 Vue/React 提供的状态管理机制配合 styled-components 等工具来进行更高级别的抽象与组合: ##### 使用 SCSS 编写 Mixin 实现通用按钮样式的快速应用 ```scss @mixin button-style($color, $bg-color) { color: $color; background-color: $bg-color; padding: 8px 16px; border-radius: 4px; cursor: pointer; &:hover, &:focus { opacity: 0.9; } } .btn-primary { @include button-style(#fff, #1e7bbf); } .btn-secondary { @include button-style(#000, #ddd); } ``` ##### 利用 React Hooks 构建动态切换可见性的模块 ```javascript import React, { useState } from 'react'; import './ToggleableComponent.css'; function ToggleableComponent({ children }) { const [isVisible, setIsVisible] = useState(true); function toggleVisibility() { setIsVisible(!isVisible); } return ( <div> <button onClick={toggleVisibility}> Click me to hide/show component </button> {/* 动态调整 display */} <div className={`content ${!isVisible ? 'hidden' : ''}`}> {children} </div> </div> ); } export default ToggleableComponent; ``` ```css .hidden { display: none !important; } .content { transition: all ease-in-out 0.3s; } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值