WeChat 애플릿 WeUI.js 웹 개발 스타일 라이브러리


개요

WeUI는 WeChat의 기본 시각적 경험과 일치하는 기본 스타일 라이브러리 세트입니다. WeChat 내 웹 개발을 위해 WeChat 공식 디자인 팀이 설계하여 사용자의 사용 인식을 더욱 통일시킬 수 있습니다. WeChat 웹 개발에서 WeUI를 사용하면 다음과 같은 이점이 있습니다.

  • WeChat 클라이언트와 동일한 시각 효과로 모든 WeChat 사용자가 웹 사이트를 더 쉽게 사용할 수 있습니다.
  • 편리한 액세스 및 빠른 사용, 개발 및 디자인 비용 절감
  • 신중함 WeChat 디자인 팀이 제작하여 명확하고 간결하며 우아합니다

스타일 라이브러리에는 현재 버튼, 셀, 대화 상자, 진행률, 토스트, 기사, 아이콘 등과 같은 다양한 요소가 포함되어 있으며 GitHub에서 오픈 소스로 제공됩니다. . 미리 보려면 http://weui.github.io/weui/를 방문하거나 WeChat에서 QR 코드를 스캔하세요.

Qrcode.png

사용 방법

설치

방법 1: bower를 사용하여 설치

bower install --save weui

방법 2: npm을 사용하여 설치

npm install --save weui

어떤 방법을 선택하든 설치 후 페이지에 dist/를 입력하세요. /weui.css 또는 dist/style/weui.min.css를 사용할 수 있습니다. 예:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
        <title>WeUI</title>
        <link rel="stylesheet" href="path/to/weui/dist/style/weui.min.css"/>
    </head>
    <body>
  
    </body>
</html>

Development

git clone https://github.com/weui/weui.git
cd weui
npm install -g gulp
npm install
gulp -ws

src 디렉터리에 있는 모든 파일의 변경 사항을 모니터링하는 gulp -ws 명령을 실행하고 기본적으로 포트 8080에서 서버를 시작한 다음 브라우저에서 http를 엽니다: //localhost:8080/example. gulp -ws 命令,会监听 src 目录下所有文件的变更,并且默认会在8080端口启动服务器,然后在浏览器打开 http://localhost:8080/example。


元素类型

Button

按钮可以使用 a 或者 button 标签。wap 上要触发按钮的 active 态,必须触发 ontouchstart 事件,可以在 body 上加上 ontouchstart="" 全局触发。

按钮常见的操作场景:确定、取消、警示,分别对应 class:weui_btn_primaryweui_btn_defaultweui_btn_warn,每种场景都有自己的置灰态weui_btn_disabled,除此外还有一种镂空按钮 weui_btn_plain_xxx,客户端 webview 里的按钮尺寸有两类,默认宽度100%,小型按钮宽度自适应,两边边框与文本间距0.75em:

Button.png

<a href="#" class="weui_btn weui_btn_primary">按钮</a>
<a href="#" class="weui_btn weui_btn_disabled weui_btn_primary">按钮</a>
<a href="#" class="weui_btn weui_btn_warn">确认</a>
<a href="#" class="weui_btn weui_btn_disabled weui_btn_warn">确认</a>
<a href="#" class="weui_btn weui_btn_default">按钮</a>
<a href="#" class="weui_btn weui_btn_disabled weui_btn_default">按钮</a>
<div class="button_sp_area">
    <a href="#" class="weui_btn weui_btn_plain_default">按钮</a>
    <a href="#" class="weui_btn weui_btn_plain_primary">按钮</a>

    <a href="#" class="weui_btn weui_btn_mini weui_btn_primary">按钮</a>
    <a href="#" class="weui_btn weui_btn_mini weui_btn_default">按钮</a>
</div>

Cell

Cell,列表视图,用于将信息以列表的结构显示在页面上,是 wap 上最常用的内容结构。Cell 由多个 section 组成,每个 section 包括 section header weui_cells_title以及 cells weui_cells

Cell 由 thumbnail weui_cell_hd、body weui_cell_bd、accessory weui_cell_ft 三部分组成,cell 采用自适应布局,在需要自适应的部分加上 class weui_cell_primary


🎜🎜요소 유형🎜🎜🎜Button🎜🎜🎜버튼은 a 또는 button 태그를 사용할 수 있습니다. wap에서 버튼의 활성 상태를 트리거하려면 ontouchstart 이벤트가 트리거되어야 합니다. body의 전역 트리거에 ontouchstart=""를 추가할 수 있습니다. 🎜🎜버튼의 일반적인 작동 시나리오: 확인, 취소, 경고, 클래스에 해당: weui_btn_primary, weui_btn_default, weui_btn_warn, 각 시나리오에는 회색으로 표시된 상태 weui_btn_disabled. 또한 클라이언트 웹뷰에는 두 가지 유형의 버튼 크기가 있습니다. 작은 버튼의 너비는 Adapt에서 가져온 것이며 양쪽 테두리와 텍스트 사이의 간격은 0.75em입니다. 🎜🎜Button.png🎜
<div class="weui_cells_title">带说明的列表项</div>
<div class="weui_cells">
    <div class="weui_cell">
        <div class="weui_cell_bd weui_cell_primary">
            <p>标题文字</p>
        </div>
        <div class="weui_cell_ft">
            说明文字
        </div>
    </div>
</div>
🎜🎜Cell🎜🎜🎜Cell, 목록 보기는 페이지의 정보를 목록 구조로 표시하는 데 사용됩니다. wap에서 가장 일반적으로 사용되는 콘텐츠 구조입니다. 은 여러 섹션으로 구성되며, 각 섹션에는 섹션 헤더 weui_cells_title 및 셀 weui_cells가 포함됩니다. 🎜🎜Cell은 썸네일 weui_cell_hd, 본문 weui_cell_bd, 액세서리 weui_cell_ft, cell<의 세 부분으로 구성됩니다. /code> code> 적응형 레이아웃을 사용하고 적응이 필요한 부분에 weui_cell_primary 클래스를 추가하세요. 🎜

Cell.png

설명이 포함된 목록 항목

<div class="weui_cells_title">带图标、说明、跳转的列表项</div>
<div class="weui_cells weui_cells_access">

    <a class="weui_cell" href="#">
        <div class="weui_cell_hd">
            <img src="" alt="icon" style="width:20px;margin-right:5px;display:block">
        </div>
        <div class="weui_cell_bd weui_cell_primary">
            <p>cell standard</p>
        </div>
        <div class="weui_cell_ft">
            说明文字
        </div>
    </a>
    <a class="weui_cell" href="#">
        <div class="weui_cell_hd">
            <img src="" alt="icon" style="width:20px;margin-right:5px;display:block">
        </div>
        <div class="weui_cell_bd weui_cell_primary">
            <p>cell standard</p>
        </div>
        <div class="weui_cell_ft">
            说明文字
        </div>
    </a>
</div>

Cell은 필요에 따라 보조 설명, 점프, 라디오 선택, 확인 선택 등 다양한 확장 기능을 사용하여 사용자 정의할 수 있습니다. 다음은 아이콘, 설명, 점프가 포함된 목록 항목입니다. 다른 경우에는 예제 아래의 코드를 직접 참조할 수 있습니다. Cell 可根据需要进行各种自定义扩展,包括辅助说明、跳转、单选、复选等。下面以带图标、说明、跳转的列表项,其他情况可以直接参考 example 下的代码:

<div class="weui_dialog_confirm">
    <div class="weui_mask"></div>
    <div class="weui_dialog">
        <div class="weui_dialog_hd"><strong class="weui_dialog_title">弹窗标题</strong></div>
        <div class="weui_dialog_bd">自定义弹窗内容,居左对齐显示,告知需要确认的信息等</div>
        <div class="weui_dialog_ft">
            <a href="#" class="weui_btn_dialog default">取消</a>
            <a href="#" class="weui_btn_dialog primary">确定</a>
        </div>
    </div>
</div>

Dialog

若系统的 alert 窗体无法满足网页的临时视图内容需求,则可以自定义实现与 alert 形式相似的 dialog,并且在 dialog 中可以自定义地使用各种控件,来满足需求。

Dialog1.png

<div class="weui_dialog_alert">
    <div class="weui_mask"></div>
    <div class="weui_dialog">
        <div class="weui_dialog_hd"><strong class="weui_dialog_title">弹窗标题</strong></div>
        <div class="weui_dialog_bd">弹窗内容,告知当前页面信息等</div>
        <div class="weui_dialog_ft">
            <a href="#" class="weui_btn_dialog primary">确定</a>
        </div>
    </div>
</div>

Dialog2.png

<div class="weui_progress">
    <div class="weui_progress_bar">
        <div class="weui_progress_inner_bar" style="width: 50%;"></div>
    </div>
    <a href="#" class="weui_progress_opr">
        <i class="weui_icon_cancel"></i>
    </a>
</div>


Progress

Progress 用于上传、下载等耗时并且需要显示进度的场景,用户可以随时中断该操作。

Progress.png

<div id="toast" style="display: none;">
    <div class="weui_mask_transparent"></div>
    <div class="weui_toast">
        <i class="weui_icon_toast"></i>
        <p class="weui_toast_content">已完成</p>
    </div>
</div>


Toast

Toast 用于临时显示某些信息,并且会在数秒后自动消失。这些信息通常是轻量级操作的成功、失败或等待状态信息。

Toast1.png

<div id="loadingToast" class="weui_loading_toast" style="display:none;">
    <div class="weui_mask_transparent"></div>
    <div class="weui_toast">
        <div class="weui_loading">
            <!-- :) -->
            <div class="weui_loading_leaf weui_loading_leaf_0"></div>
            <div class="weui_loading_leaf weui_loading_leaf_1"></div>
            <div class="weui_loading_leaf weui_loading_leaf_2"></div>
            <div class="weui_loading_leaf weui_loading_leaf_3"></div>
            <div class="weui_loading_leaf weui_loading_leaf_4"></div>
            <div class="weui_loading_leaf weui_loading_leaf_5"></div>
            <div class="weui_loading_leaf weui_loading_leaf_6"></div>
            <div class="weui_loading_leaf weui_loading_leaf_7"></div>
            <div class="weui_loading_leaf weui_loading_leaf_8"></div>
            <div class="weui_loading_leaf weui_loading_leaf_9"></div>
            <div class="weui_loading_leaf weui_loading_leaf_10"></div>
            <div class="weui_loading_leaf weui_loading_leaf_11"></div>
        </div>
        <p class="weui_toast_content">数据加载中</p>
    </div>
</div>

Toast2.png

<div class="weui_msg">
    <div class="weui_icon_area"><i class="weui_icon_success weui_icon_msg"></i></div>
    <div class="weui_text_area">
        <h2 class="weui_msg_title">操作成功</h2>
        <p class="weui_msg_desc">内容详情,可根据实际需要安排</p>
    </div>
    <div class="weui_opr_area">
        <p class="weui_btn_area">
            <a href="#" class="weui_btn weui_btn_primary">确定</a>
            <a href="#" class="weui_btn weui_btn_default">取消</a>
        </p>
    </div>
    <div class="weui_extra_area">
        <a href="">查看详情</a>
    </div>
</div>


Msg Page

结果页通常来说可以认为进行一系列操作步骤后,作为流程结束的总结性页面。结果页的作用主要是告知用户操作处理结果以及必要的相关细节(可用于确认之前的操作是否有误)等信息;若该流程用于开启或关闭某些重要功能,可在结果页增加与该功能相关的描述性内容;除此之外,结果页也可以承载一些附加价值操作,例如提供抽奖、关注公众号等功能入口。

Result.png

<article class="weui_article">
    <h1>大标题</h1>
    <section>
        <h2 class="title">章标题</h2>
        <section>
            <h3>1.1 节标题</h3>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
                tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                consequat. Duis aute</p>
        </section>
        <section>
            <h3>1.2 节标题</h3>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
                tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
                proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
        </section>
    </section>
</article>


Article

文字视图显示大段文字,这些文字通常是页面上的主体内容。Article 支持分段、多层标题、引用、内嵌图片、有/无序列表等富文本样式,并可响应用户的选择操作。

在微信客户端 webview 中使用 Article

<div id="actionSheet_wrap">
    <div class="weui_mask_transition" id="mask"></div>
    <div class="weui_actionsheet" id="weui_actionsheet">
        <div class="weui_actionsheet_menu">
            <div class="weui_actionsheet_cell">示例菜单</div>
            <div class="weui_actionsheet_cell">示例菜单</div>
            <div class="weui_actionsheet_cell">示例菜单</div>
            <div class="weui_actionsheet_cell">示例菜单</div>
        </div>
        <div class="weui_actionsheet_action">
            <div class="weui_actionsheet_cell" id="actionsheet_cancel">取消</div>
        </div>
    </div>
</div>

Dialog

시스템이 경고 양식이 웹페이지의 임시 콘텐츠 보기 요구 사항을 충족할 수 없는 경우 경고 양식과 유사한 대화상자를 사용자 정의하고 대화상자<에서 다양한 사용자 정의를 사용할 수 있습니다. /code>는 귀하의 필요에 맞게 제어합니다.

Text.pngDialog1.png

<i class="weui_icon_msg weui_icon_success"></i>
<i class="weui_icon_msg weui_icon_info"></i>
<i class="weui_icon_msg weui_icon_warn"></i>
<i class="weui_icon_msg weui_icon_waiting"></i>
<i class="weui_icon_safe weui_icon_safe_success"></i>
<i class="weui_icon_safe weui_icon_safe_warn"></i>
<div class="icon_sp_area">
    <i class="weui_icon_success"></i>
    <i class="weui_icon_success_circle"></i>
    <i class="weui_icon_success_no_circle"></i>
    <i class="weui_icon_info"></i>
    <i class="weui_icon_waiting"></i>
    <i class="weui_icon_waiting_circle"></i>
    <i class="weui_icon_circle"></i>
    <i class="weui_icon_warn"></i>
    <i class="weui_icon_download"></i>
    <i class="weui_icon_info_circle"></i>
    <i class="weui_icon_cancel"></i>
</div>
🎜Dialog2 .png🎜rrreee🎜
🎜

진행상황

🎜Progress는 시간이 많이 걸리고 진행 상황을 표시해야 하는 업로드 및 다운로드와 같은 시나리오에서 사용됩니다. 사용자는 언제든지 작업을 중단할 수 있습니다. 🎜🎜Progress.png🎜rrreee🎜
🎜< h2>토스트

🎜토스트는 특정 정보를 일시적으로 표시하는 데 사용되며 몇 초 후에 자동으로 사라집니다. 이 정보는 일반적으로 경량 작업에 대한 성공, 실패 또는 대기 상태 정보입니다. 🎜🎜Toast1.png🎜rrreee🎜Toast2 .png🎜rrreee🎜
🎜

메시지 페이지< /strong>

🎜결과 페이지는 일반적으로 일련의 단계를 거쳐 프로세스가 끝나면 요약 페이지로 생각할 수 있습니다. 결과 페이지의 주요 기능은 프로세스가 일부 중요한 기능을 켜거나 끄는 데 사용되는 경우 사용자에게 작업 처리 결과 및 필요한 관련 세부 정보(이전 작업이 잘못되었는지 확인하는 데 사용할 수 있음)를 알리는 것입니다. 기능과 관련된 설명 콘텐츠를 결과 페이지에 추가할 수 있으며, 결과 페이지에는 복권 추첨 제공, 공개 계정 팔로우 및 기타 기능적 입장과 같은 추가 가치 작업도 수행할 수 있습니다. 🎜🎜Result.png🎜rrreee🎜
🎜< h2>기사🎜텍스트 보기에는 일반적으로 페이지의 주요 콘텐츠인 큰 텍스트 블록이 표시됩니다. 기사는 단락, 다중 레이어 제목, 인용문, 인라인 이미지, 순서/비순서 목록 등과 같은 서식 있는 텍스트 스타일을 지원하고 사용자 선택 작업에 ​​응답할 수 있습니다. 🎜🎜WeChat 클라이언트 웹뷰에서 Article을 사용할 때 텍스트가 충분히 읽기 쉽고 표준 글꼴을 사용하고 충분한 단락 간격을 보장하며 단락 시작 부분에 들여쓰기가 없는지 확인해야 합니다. 🎜🎜🎜🎜rrreee


ActionSheet

ActionSheet은 지침, 점프 등을 포함한 일련의 대화형 액션 컬렉션을 표시하는 데 사용됩니다. 하단에서 팝업되며 일반적으로 페이지에서 사용자 클릭에 응답하는 데 사용됩니다.

ActionSheet.png

rrreee


Icon

icons.png

rrreee


기술 지원 및 피드백

GitHub에 메시지나 피드백을 남겨주세요.