Commit 47967107 by baiguangyao

.

parents 18d820c9 752ccd34
{
"name": "my-julyedu",
"version": "0.1.0",
"private": true,
"dependencies": {
"@babel/core": "7.2.2",
"@svgr/webpack": "4.1.0",
"antd-mobile": "^2.2.11",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "9.0.0",
"babel-jest": "23.6.0",
"babel-loader": "8.0.5",
"babel-plugin-named-asset-import": "^0.3.1",
"babel-preset-react-app": "^7.0.2",
"bfj": "6.1.1",
"case-sensitive-paths-webpack-plugin": "2.2.0",
"css-loader": "1.0.0",
"dotenv": "6.0.0",
"dotenv-expand": "4.2.0",
"eslint": "5.12.0",
"eslint-config-react-app": "^3.0.8",
"eslint-loader": "2.1.1",
"eslint-plugin-flowtype": "2.50.1",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-jsx-a11y": "6.1.2",
"eslint-plugin-react": "7.12.4",
"file-loader": "2.0.0",
"fs-extra": "7.0.1",
"html-webpack-plugin": "4.0.0-alpha.2",
"identity-obj-proxy": "3.0.0",
"jest": "23.6.0",
"jest-pnp-resolver": "1.0.2",
"jest-resolve": "23.6.0",
"jest-watch-typeahead": "^0.2.1",
"less": "^3.9.0",
"less-loader": "^4.1.0",
"mini-css-extract-plugin": "0.5.0",
"node-sass": "^4.11.0",
"optimize-css-assets-webpack-plugin": "5.0.1",
"pnp-webpack-plugin": "1.2.1",
"postcss-flexbugs-fixes": "4.1.0",
"postcss-loader": "3.0.0",
"postcss-preset-env": "6.5.0",
"postcss-safe-parser": "4.0.1",
"react": "^16.8.6",
"react-app-polyfill": "^0.2.2",
"react-dev-utils": "^8.0.0",
"react-dom": "^16.8.6",
"react-redux": "^7.0.2",
"react-router-dom": "^5.0.0",
"redux": "^4.0.1",
"resolve": "1.10.0",
"sass-loader": "^7.1.0",
"sass-resources-loader": "^2.0.0",
"style-loader": "0.23.1",
"terser-webpack-plugin": "1.2.2",
"url-loader": "1.1.2",
"webpack": "4.28.3",
"webpack-dev-server": "3.1.14",
"webpack-manifest-plugin": "2.0.4",
"workbox-webpack-plugin": "3.6.3"
},
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js",
"test": "node scripts/test.js"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,ts,tsx}",
"!src/**/*.d.ts"
],
"resolver": "jest-pnp-resolver",
"setupFiles": [
"react-app-polyfill/jsdom"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
"<rootDir>/src/**/?(*.)(spec|test).{js,jsx,ts,tsx}"
],
"testEnvironment": "jsdom",
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$",
"^.+\\.module\\.(css|sass|scss)$"
],
"moduleNameMapper": {
"^react-native$": "react-native-web",
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
},
"moduleFileExtensions": [
"web.js",
"js",
"web.ts",
"ts",
"web.tsx",
"tsx",
"json",
"web.jsx",
"jsx",
"node"
],
"watchPlugins": [
"/Users/baiguangyao/project/my-julyedu/node_modules/jest-watch-typeahead/filename.js",
"/Users/baiguangyao/project/my-julyedu/node_modules/jest-watch-typeahead/testname.js"
]
},
"babel": {
"presets": [
"react-app"
],
"plugins": [
[
"import",
{
"libraryName": "antd-mobile",
"style": true
}
]
]
},
"devDependencies": {
"babel-plugin-import": "^1.11.0",
"sass-resources-loader": "^2.0.0"
},
"theme": './src/assets/theme/index.less'
}
{
"name": "my-julyedu",
"version": "0.1.0",
"private": true,
"dependencies": {
"@babel/core": "7.2.2",
"@svgr/webpack": "4.1.0",
"antd-mobile": "^2.2.11",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "9.0.0",
"babel-jest": "23.6.0",
"babel-loader": "8.0.5",
"babel-plugin-named-asset-import": "^0.3.1",
"babel-preset-react-app": "^7.0.2",
"bfj": "6.1.1",
"case-sensitive-paths-webpack-plugin": "2.2.0",
"css-loader": "1.0.0",
"dotenv": "6.0.0",
"dotenv-expand": "4.2.0",
"eslint": "5.12.0",
"eslint-config-react-app": "^3.0.8",
"eslint-loader": "2.1.1",
"eslint-plugin-flowtype": "2.50.1",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-jsx-a11y": "6.1.2",
"eslint-plugin-react": "7.12.4",
"file-loader": "2.0.0",
"fs-extra": "7.0.1",
"html-webpack-plugin": "4.0.0-alpha.2",
"identity-obj-proxy": "3.0.0",
"jest": "23.6.0",
"jest-pnp-resolver": "1.0.2",
"jest-resolve": "23.6.0",
"jest-watch-typeahead": "^0.2.1",
"less": "^3.9.0",
"less-loader": "^4.1.0",
"mini-css-extract-plugin": "0.5.0",
"node-sass": "^4.11.0",
"optimize-css-assets-webpack-plugin": "5.0.1",
"pnp-webpack-plugin": "1.2.1",
"postcss-flexbugs-fixes": "4.1.0",
"postcss-loader": "3.0.0",
"postcss-preset-env": "6.5.0",
"postcss-safe-parser": "4.0.1",
"react": "^16.8.6",
"react-app-polyfill": "^0.2.2",
"react-dev-utils": "^8.0.0",
"react-dom": "^16.8.6",
"react-redux": "^7.0.2",
"react-router-dom": "^5.0.0",
"redux": "^4.0.1",
"resolve": "1.10.0",
"sass-loader": "^7.1.0",
"sass-resources-loader": "^2.0.0",
"style-loader": "0.23.1",
"terser-webpack-plugin": "1.2.2",
"url-loader": "1.1.2",
"webpack": "4.28.3",
"webpack-dev-server": "3.1.14",
"webpack-manifest-plugin": "2.0.4",
"workbox-webpack-plugin": "3.6.3"
},
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js",
"test": "node scripts/test.js"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,ts,tsx}",
"!src/**/*.d.ts"
],
"resolver": "jest-pnp-resolver",
"setupFiles": [
"react-app-polyfill/jsdom"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
"<rootDir>/src/**/?(*.)(spec|test).{js,jsx,ts,tsx}"
],
"testEnvironment": "jsdom",
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$",
"^.+\\.module\\.(css|sass|scss)$"
],
"moduleNameMapper": {
"^react-native$": "react-native-web",
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
},
"moduleFileExtensions": [
"web.js",
"js",
"web.ts",
"ts",
"web.tsx",
"tsx",
"json",
"web.jsx",
"jsx",
"node"
],
"watchPlugins": [
"/Users/baiguangyao/project/my-julyedu/node_modules/jest-watch-typeahead/filename.js",
"/Users/baiguangyao/project/my-julyedu/node_modules/jest-watch-typeahead/testname.js"
]
},
"babel": {
"presets": [
"react-app"
],
"plugins": [
[
"import",
{
"libraryName": "antd-mobile",
"style": true
}
]
]
},
"devDependencies": {
"babel-plugin-import": "^1.11.0",
"sass-resources-loader": "^2.0.0"
},
"theme": './src/assets/theme/config.js'
}
{
"name": "my-julyedu",
"version": "0.1.0",
"private": true,
"dependencies": {
"@babel/core": "7.2.2",
"@svgr/webpack": "4.1.0",
"antd-mobile": "^2.2.11",
"babel-core": "7.0.0-bridge.0",
"babel-eslint": "9.0.0",
"babel-jest": "23.6.0",
"babel-loader": "8.0.5",
"babel-plugin-named-asset-import": "^0.3.1",
"babel-preset-react-app": "^7.0.2",
"bfj": "6.1.1",
"case-sensitive-paths-webpack-plugin": "2.2.0",
"css-loader": "1.0.0",
"dotenv": "6.0.0",
"dotenv-expand": "4.2.0",
"eslint": "5.12.0",
"eslint-config-react-app": "^3.0.8",
"eslint-loader": "2.1.1",
"eslint-plugin-flowtype": "2.50.1",
"eslint-plugin-import": "2.14.0",
"eslint-plugin-jsx-a11y": "6.1.2",
"eslint-plugin-react": "7.12.4",
"file-loader": "2.0.0",
"fs-extra": "7.0.1",
"html-webpack-plugin": "4.0.0-alpha.2",
"identity-obj-proxy": "3.0.0",
"jest": "23.6.0",
"jest-pnp-resolver": "1.0.2",
"jest-resolve": "23.6.0",
"jest-watch-typeahead": "^0.2.1",
"less": "^3.9.0",
"less-loader": "^4.1.0",
"mini-css-extract-plugin": "0.5.0",
"node-sass": "^4.11.0",
"optimize-css-assets-webpack-plugin": "5.0.1",
"pnp-webpack-plugin": "1.2.1",
"postcss-flexbugs-fixes": "4.1.0",
"postcss-loader": "3.0.0",
"postcss-preset-env": "6.5.0",
"postcss-safe-parser": "4.0.1",
"react": "^16.8.6",
"react-app-polyfill": "^0.2.2",
"react-dev-utils": "^8.0.0",
"react-dom": "^16.8.6",
"react-redux": "^7.0.2",
"react-router-dom": "^5.0.0",
"redux": "^4.0.1",
"resolve": "1.10.0",
"sass-loader": "^7.1.0",
"sass-resources-loader": "^2.0.0",
"style-loader": "0.23.1",
"terser-webpack-plugin": "1.2.2",
"url-loader": "1.1.2",
"webpack": "4.28.3",
"webpack-dev-server": "3.1.14",
"webpack-manifest-plugin": "2.0.4",
"workbox-webpack-plugin": "3.6.3"
},
"scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js",
"test": "node scripts/test.js"
},
"eslintConfig": {
"extends": "react-app"
},
"browserslist": [
">0.2%",
"not dead",
"not ie <= 11",
"not op_mini all"
],
"jest": {
"collectCoverageFrom": [
"src/**/*.{js,jsx,ts,tsx}",
"!src/**/*.d.ts"
],
"resolver": "jest-pnp-resolver",
"setupFiles": [
"react-app-polyfill/jsdom"
],
"testMatch": [
"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
"<rootDir>/src/**/?(*.)(spec|test).{js,jsx,ts,tsx}"
],
"testEnvironment": "jsdom",
"testURL": "http://localhost",
"transform": {
"^.+\\.(js|jsx|ts|tsx)$": "<rootDir>/node_modules/babel-jest",
"^.+\\.css$": "<rootDir>/config/jest/cssTransform.js",
"^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": "<rootDir>/config/jest/fileTransform.js"
},
"transformIgnorePatterns": [
"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$",
"^.+\\.module\\.(css|sass|scss)$"
],
"moduleNameMapper": {
"^react-native$": "react-native-web",
"^.+\\.module\\.(css|sass|scss)$": "identity-obj-proxy"
},
"moduleFileExtensions": [
"web.js",
"js",
"web.ts",
"ts",
"web.tsx",
"tsx",
"json",
"web.jsx",
"jsx",
"node"
],
"watchPlugins": [
"/Users/baiguangyao/project/my-julyedu/node_modules/jest-watch-typeahead/filename.js",
"/Users/baiguangyao/project/my-julyedu/node_modules/jest-watch-typeahead/testname.js"
]
},
"babel": {
"presets": [
"react-app"
],
"plugins": [
[
"import",
{
"libraryName": "antd-mobile",
"style": true
}
]
]
},
"devDependencies": {
"babel-plugin-import": "^1.11.0",
"sass-resources-loader": "^2.0.0"
},
"theme": "./src/assets/theme/config.js"
}
@hd: 1px; // 基本单位
// 支付宝钱包默认主题
// https://github.com/ant-design/ant-design-mobile/wiki/设计变量表及命名规范
// 色彩
// ---
// 文字色
@color-text - base: #000; // 基本
@color-text - base - inverse: #fff; // 基本 - 反色
@color-text - secondary: #a4a9b0; // 辅助色
@color-text - placeholder: #bbb; // 文本框提示
@color-text - disabled: #bbb; // 失效
@color-text - caption: #888; // 辅助描述
@color-text - paragraph: #333; // 段落
@color-link: @brand-primary; // 链接
// 背景色
@fill-base: #fff; // 组件默认背景
@fill-body: #f5f5f9; // 页面背景
@fill-tap: #ddd; // 组件默认背景 - 按下
@fill-disabled: #ddd; // 通用失效背景
@fill-mask: rgba(0, 0, 0, 0.4); // 遮罩背景
@color-icon - base: #ccc; // 许多小图标的背景,比如一些小圆点,加减号
@fill-grey: #f7f7f7;
// 透明度
@opacity-disabled: 0.3; // switch checkbox radio 等组件禁用的透明度
// 全局/品牌色
@brand-primary: #108ee9;
@brand-primary - tap: #0e80d2;
@brand-success: #6abf47;
@brand-warning: #ffc600;
@brand-error: #f4333c;
@brand-important: #ff5b05; // 用于小红点
@brand-wait: #108ee9;
// 边框色
@border-color - base: #ddd;
// 字体尺寸
// ---
@font-size - icontext: 10 * @hd;
@font-size - caption - sm: 12 * @hd;
@font-size - base: 14 * @hd;
@font-size - subhead: 15 * @hd;
@font-size - caption: 16 * @hd;
@font-size - heading: 17 * @hd;
// 圆角
// ---
@radius-xs: 2 * @hd;
@radius-sm: 3 * @hd;
@radius-md: 5 * @hd;
@radius-lg: 7 * @hd;
@radius-circle: 50 %;
// 边框尺寸
// ---
@border-width - sm: 1PX;
@border-width - md: 1PX;
@border-width - lg: 2 * @hd;
// 间距
// ---
// 水平间距
@h-spacing - sm: 5 * @hd;
@h-spacing - md: 8 * @hd;
@h-spacing - lg: 15 * @hd;
// 垂直间距
@v-spacing - xs: 3 * @hd;
@v-spacing - sm: 6 * @hd;
@v-spacing - md: 9 * @hd;
@v-spacing - lg: 15 * @hd;
@v-spacing - xl: 21 * @hd;
// 高度
// ---
@line-height - base: 1; // 单行行高
@line-height - paragraph: 1.5; // 多行行高
// 图标尺寸
// ---
@icon-size - xxs: 15 * @hd;
@icon-size - xs: 18 * @hd;
@icon-size - sm: 21 * @hd;
@icon-size - md: 22 * @hd; // 导航条上的图标、grid的图标大小
@icon-size - lg: 36 * @hd;
// 动画缓动
// ---
@ease-in -out - quint: cubic - bezier(.86, 0, .07, 1);
// 组件变量
// ---
@actionsheet-item - height: 50 * @hd;
@actionsheet-item - font - size: 18 * @hd;
// button
@button-height: 47 * @hd;
@button-font - size: 18 * @hd;
@button-height - sm: 30 * @hd;
@button-font - size - sm: 13 * @hd;
@primary-button - fill: @brand-primary;
@primary-button - fill - tap: @brand-primary - tap;
@ghost-button - color: @brand-primary; // 同时应用于背景、文字颜色、边框色
@ghost-button - fill - tap: fade(@brand-primary, 60 %);
@warning-button - fill: #e94f4f;
@warning-button - fill - tap: #d24747;
@link-button - fill - tap: #ddd;
@link-button - font - size: 16 * @hd;
// menu
@menu-multi - select - btns - height: @button-height;
// modal
@modal-font - size - heading: 18 * @hd;
@modal-button - font - size: 18 * @hd; // 按钮字号
@modal-button - height: 50 * @hd; // 按钮高度
// list
@list-title - height: 30 * @hd;
@list-item - height - sm: 35 * @hd;
@list-item - height: 44 * @hd;
// input
@input-label - width: 17 * @hd; // InputItem、TextareaItem 文字长度基础值
@input-font - size: 17 * @hd;
@input-color - icon: #ccc; // input clear icon 的背景色
@input-color - icon - tap: @brand-primary;
// tabs
@tabs-color: @brand-primary;
@tabs-height: 43.5 * @hd;
@tabs-font - size - heading: 15 * @hd;
@tabs-ink - bar - height: @border-width - lg;
// segmented-control
@segmented-control - color: @brand-primary; // 同时应用于背景、文字颜色、边框色
@segmented-control - height: 27 * @hd;
@segmented-control - fill - tap: fade(@brand-primary, 0.1);
// tab-bar
@tab-bar - fill: #ebeeef;
@tab-bar - height: 50 * @hd;
// toast
@toast-fill: rgba(58, 58, 58, 0.9); // toast, activity-indicator 的背景颜色
// search-bar
@search-bar - fill: #efeff4;
@search-bar - height: 44 * @hd;
@search-bar - input - height: 28 * @hd;
@search-bar - font - size: 15 * @hd;
@search-color - icon: #bbb; // input search icon 的背景色
// notice-bar
@notice-bar - fill: #fefcec;
@notice-bar - height: 36 * @hd;
@notice-bar - color: #f76a24;
// switch
@switch-fill: #4dd865;
@switch-fill - android: @brand-primary;
// tag
@tag-height: 25 * @hd;
@tag-height - sm: 15 * @hd;
@tag-color: @brand-primary;
// keyboard
@keyboard-confirm - color: @brand-primary;
@keyboard-confirm - tap - color: @brand-primary - tap;
// picker
@option-height: 42 * @hd; // picker 标题的高度
// z-index
@progress-zindex: 2000;
@popover-zindex: 1999;
@toast-zindex: 1999;
@action-sheet - zindex: 1000; // actonsheet 会放到 popup / modal 中
@picker-zindex: 1000;
@popup-zindex: 999;
@modal-zindex: 999; // modal.alert 应该最大,其他应该较小
@tabs-pagination - zindex: 999;
module.exports = function() {
return {
"@brand-primary": 'green'
}
}
\ No newline at end of file
@hd: 1px; // 基本单位
// 支付宝钱包默认主题
// https://github.com/ant-design/ant-design-mobile/wiki/设计变量表及命名规范
// 色彩
// ---
// 文字色
@color-text - base: #000; // 基本
@color-text - base - inverse: #fff; // 基本 - 反色
@color-text - secondary: #a4a9b0; // 辅助色
@color-text - placeholder: #bbb; // 文本框提示
@color-text - disabled: #bbb; // 失效
@color-text - caption: #888; // 辅助描述
@color-text - paragraph: #333; // 段落
@color-link: @brand-primary; // 链接
// 背景色
@fill-base: #fff; // 组件默认背景
@fill-body: #f5f5f9; // 页面背景
@fill-tap: #ddd; // 组件默认背景 - 按下
@fill-disabled: #ddd; // 通用失效背景
@fill-mask: rgba(0, 0, 0, 0.4); // 遮罩背景
@color-icon - base: #ccc; // 许多小图标的背景,比如一些小圆点,加减号
@fill-grey: #f7f7f7;
// 透明度
@opacity-disabled: 0.3; // switch checkbox radio 等组件禁用的透明度
// 全局/品牌色
@brand-primary: #108ee9;
@brand-primary - tap: #0e80d2;
@brand-success: #6abf47;
@brand-warning: #ffc600;
@brand-error: #f4333c;
@brand-important: #ff5b05; // 用于小红点
@brand-wait: #108ee9;
// 边框色
@border-color - base: #ddd;
// 字体尺寸
// ---
@font-size - icontext: 10 * @hd;
@font-size - caption - sm: 12 * @hd;
@font-size - base: 14 * @hd;
@font-size - subhead: 15 * @hd;
@font-size - caption: 16 * @hd;
@font-size - heading: 17 * @hd;
// 圆角
// ---
@radius-xs: 2 * @hd;
@radius-sm: 3 * @hd;
@radius-md: 5 * @hd;
@radius-lg: 7 * @hd;
@radius-circle: 50 %;
// 边框尺寸
// ---
@border-width - sm: 1PX;
@border-width - md: 1PX;
@border-width - lg: 2 * @hd;
// 间距
// ---
// 水平间距
@h-spacing - sm: 5 * @hd;
@h-spacing - md: 8 * @hd;
@h-spacing - lg: 15 * @hd;
// 垂直间距
@v-spacing - xs: 3 * @hd;
@v-spacing - sm: 6 * @hd;
@v-spacing - md: 9 * @hd;
@v-spacing - lg: 15 * @hd;
@v-spacing - xl: 21 * @hd;
// 高度
// ---
@line-height - base: 1; // 单行行高
@line-height - paragraph: 1.5; // 多行行高
// 图标尺寸
// ---
@icon-size - xxs: 15 * @hd;
@icon-size - xs: 18 * @hd;
@icon-size - sm: 21 * @hd;
@icon-size - md: 22 * @hd; // 导航条上的图标、grid的图标大小
@icon-size - lg: 36 * @hd;
// 动画缓动
// ---
@ease-in -out - quint: cubic - bezier(.86, 0, .07, 1);
// 组件变量
// ---
@actionsheet-item - height: 50 * @hd;
@actionsheet-item - font - size: 18 * @hd;
// button
@button-height: 47 * @hd;
@button-font - size: 18 * @hd;
@button-height - sm: 30 * @hd;
@button-font - size - sm: 13 * @hd;
@primary-button - fill: @brand-primary;
@primary-button - fill - tap: @brand-primary - tap;
@ghost-button - color: @brand-primary; // 同时应用于背景、文字颜色、边框色
@ghost-button - fill - tap: fade(@brand-primary, 60 %);
@warning-button - fill: #e94f4f;
@warning-button - fill - tap: #d24747;
@link-button - fill - tap: #ddd;
@link-button - font - size: 16 * @hd;
// menu
@menu-multi - select - btns - height: @button-height;
// modal
@modal-font - size - heading: 18 * @hd;
@modal-button - font - size: 18 * @hd; // 按钮字号
@modal-button - height: 50 * @hd; // 按钮高度
// list
@list-title - height: 30 * @hd;
@list-item - height - sm: 35 * @hd;
@list-item - height: 44 * @hd;
// input
@input-label - width: 17 * @hd; // InputItem、TextareaItem 文字长度基础值
@input-font - size: 17 * @hd;
@input-color - icon: #ccc; // input clear icon 的背景色
@input-color - icon - tap: @brand-primary;
// tabs
@tabs-color: @brand-primary;
@tabs-height: 43.5 * @hd;
@tabs-font - size - heading: 15 * @hd;
@tabs-ink - bar - height: @border-width - lg;
// segmented-control
@segmented-control - color: @brand-primary; // 同时应用于背景、文字颜色、边框色
@segmented-control - height: 27 * @hd;
@segmented-control - fill - tap: fade(@brand-primary, 0.1);
// tab-bar
@tab-bar - fill: #ebeeef;
@tab-bar - height: 50 * @hd;
// toast
@toast-fill: rgba(58, 58, 58, 0.9); // toast, activity-indicator 的背景颜色
// search-bar
@search-bar - fill: #efeff4;
@search-bar - height: 44 * @hd;
@search-bar - input - height: 28 * @hd;
@search-bar - font - size: 15 * @hd;
@search-color - icon: #bbb; // input search icon 的背景色
// notice-bar
@notice-bar - fill: #fefcec;
@notice-bar - height: 36 * @hd;
@notice-bar - color: #f76a24;
// switch
@switch-fill: #4dd865;
@switch-fill - android: @brand-primary;
// tag
@tag-height: 25 * @hd;
@tag-height - sm: 15 * @hd;
@tag-color: @brand-primary;
// keyboard
@keyboard-confirm - color: @brand-primary;
@keyboard-confirm - tap - color: @brand-primary - tap;
// picker
@option-height: 42 * @hd; // picker 标题的高度
// z-index
@progress-zindex: 2000;
@popover-zindex: 1999;
@toast-zindex: 1999;
@action-sheet - zindex: 1000; // actonsheet 会放到 popup / modal 中
@picker-zindex: 1000;
@popup-zindex: 999;
@modal-zindex: 999; // modal.alert 应该最大,其他应该较小
@tabs-pagination - zindex: 999;
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: $active;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: #0099ff;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: $active;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: #0099ff;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: $active;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: css.$active;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: $active;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: #09f;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
import React, { Component } from 'react'
import { NavLink } from 'react-router-dom';
// import './index.scss'
export default class NavLinks extends Component {
render() {
const { pathUrl, active, icoName, linkName, ...rest } = this.props;
return (
<NavLink
{...rest}
to={pathUrl}
activeClassName={active}
className={"root-item"}
>
<i className={icoName} />
<span className={"text"}>{linkName}</span>
</NavLink>
)
}
}
\ No newline at end of file
import React, { Component } from 'react'
import { NavLink } from 'react-router-dom';
import './index.scss'
export default class NavLinks extends Component {
render() {
const { pathUrl, active, icoName, linkName, ...rest } = this.props;
return (
<NavLink
{...rest}
to={pathUrl}
activeClassName={active}
className={"root-item"}
>
<i className={icoName} />
<span className={"text"}>{linkName}</span>
</NavLink>
)
}
}
\ No newline at end of file
.root-item {
flex: auto;
display: flex;
flex-direction: column;
flex-wrap: wrap;
justify-content: center;
align-items: center;
line-height: 1;
color: #666;
&:hover {
color: $active;
}
}
.ico {
font-size: 0.42rem;
display: block;
margin-bottom: 0.1rem;
}
.text {
display: block;
line-height: 1;
}
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>首页</NavBar>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>我的</NavBar>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div style={{"background: #f7f9fc"}}></div>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>我的</NavBar>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div style={"background: #f7f9fc"}></div>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>我的</NavBar>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div style={}></div>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>我的</NavBar>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div style={{ backgrond: "#f7f9fc"}}></div>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>我的</NavBar>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div style={{ backgrond: "#f7f9fc"}}>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>我的
</NavBar>
</div>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div style={{ backgrond: "#f7f9fc"}}>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>
我的
</NavBar>
</div>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div style={{ backgrond: "#f7f9fc"}}>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>
我的
</NavBar>
</div>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
import './index.scss';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div style={{ backgrond: "#f7f9fc"}}>
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>
我的
</NavBar>
</div>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
.my-tab{
background: #f7f9fc;
}
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
import './index.scss';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div className="my-tab">
<NavBar
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>
我的
</NavBar>
</div>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
import './index.scss';
class My extends Component {
render() {
return (
<div className="flex-container">
<Flex>
<Flex.Item>
<div >
<NavBar
className="my-tab"
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>
我的
</NavBar>
</div>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
</div>
)
}
}
export default My;
\ No newline at end of file
.my-tab{
width: 100%;
height: 44px;
background: #f7f9fc;
}
\ No newline at end of file
.my-tab{
width: 100%;
height: 44px;
font-size: $font_16
background: #f7f9fc;
}
\ No newline at end of file
.my-tab{
width: 100%;
height: 44px;
font-size: $font_16;
background: #f7f9fc;
}
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
import './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
@import './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
import './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
import './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
import './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
import css from './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
import './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
import './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
// import './styles/variable.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
import React from 'react';
import ReactDOM from 'react-dom';
import Router from './router';
// import { Provider } from 'react-redux';
// 默认样式
import './styles/index.scss';
// iconfont
import './font/iconfont.css';
ReactDOM.render(
<Router />,
document.getElementById('root'));
\ No newline at end of file
// 使用建议
// --------------------------------------------------
// CSS Modules 是对现有的 CSS 做减法。为了追求简单可控,建议遵循如下原则:
// ·不使用选择器(id,伪类,标签等),只使用class名来定义样式
// ·不层叠多个class,只使用一个class把所有样式定义好
// ·所有样式通过 composes 组合来实现复用
// ·不嵌套
// --------------------------------------------------
// 公有样式引入mixins的目的是为了方便默认设置若干常用的样式
// 公有样式不可以使用composes
@import "./variable.scss";
// 颜色设置
$border-color: #e9e9e9; // 边框颜色
$body-color: #333; // 设置通用的字体颜色
$body-bg: #f2f2f2; // 设置通用的 body 背景色
$link-color: #333; // 设置通用的链接颜色
$link-visited: #333; // 设置链接访问后的颜色
$main-color: #09f; // 主体颜色
// 字体
$font-family-zh: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
$font-family-en: Arial, sans-serif !default;
// 盒子模型
$box-model: border-box !default;
// z-index
$z-50: 50;
$z-100: 100;
$z-150: 150;
$z-200: 200;
$z-250: 250;
$z-max: 999999; //为了应付某些插件z-index 值过高的问题
// 全局设置
// --------------------------------------------------
//
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
border: 0 none;
font-size: inherit;
color: inherit;
margin: 0;
padding: 0;
vertical-align: baseline;
/* 在X5新内核Blink中,在排版页面的时候,会主动对字体进行放大,会检测页面中的主字体,当某一块字体在我们的判定规则中,认为字号较小,并且是页面中的主要字体,就会采取主动放大的操作。然而这不是我们想要的,可以采取给最大高度解决 */
max-height: 100000px;
}
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
}
em, strong {
font-style: normal;
}
ul, ol, li {
list-style: none;
}
// 全局盒子模型设置
* {
box-sizing: $box-model;
}
*:before,
*:after {
box-sizing: $box-model;
}
// -webkit-tap-highlight-color 是一个 不规范的属性,它没有出现在 CSS 规范草案中。
// 当用户点击iOS的Safari浏览器中的链接或JavaScript的可点击的元素时,覆盖显示的高亮颜色。
html {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: $font-family-zh;
line-height: 1.5;
color: $body-color;
background-color: $body-bg;
font-size: 0.24rem;
}
// Links
a {
text-decoration: none;
outline: none;
&:hover,
&:link,
&:focus {
text-decoration: none;
}
&:visited {
}
}
// 暂时放置样式,后期需处理
.homeImg {
display: block;
width: 100%;
}
// 字体颜色
.main-color {
color: $main-color;
}
.color333 {
color: #333
}
.color666 {
color: #666
}
.color999 {
color: #999
}
// 背景颜色
.bg-white { background-color: #fff }
// 间隔
.pt20 {
padding-top: 20px;
}
.pt30 {
padding-top: 30px;
}
.pt40 {
padding-top: 40px;
}
.pt50 {
padding-top: 50px;
}
.pt60 {
padding-top: 60px;
}
.plr20 {
padding-left: 0.2rem;
padding-right: 0.2rem;
}
// 请保证你的设计稿为750px宽,如果有其余字体大小,请在私有样式中设置
.font-20 {font-size: 0.2rem;}
.font-24 {font-size: 0.24rem;}
.font-26 {font-size: 0.26rem;}
.font-28 {font-size: 0.28rem;}
.font-30 {font-size: 0.3rem;}
.font-32 {font-size: 0.32rem;}
.font-34 {font-size: 0.34rem;}
.font-36 {font-size: 0.36rem;}
.font-38 {font-size: 0.38rem;}
.font-40 {font-size: 0.4rem;}
// 设置block
.block {
display: block;
}
.show {
display: inherit;
}
.hide {
display: none;
}
// 最外层页面设置
.box {
max-width: 10rem;
margin-left: auto;
margin-right: auto;
}
// 半透明弹层
.alert-bg {
position: fixed;
z-index: $z-50;
width: 100%;
top: 0;
bottom: 0;
background: rgba(0, 0, 0, .6);
display: none; //注意:默认隐藏!!
}
.alpha-bg {
position: fixed;
z-index: 100;
background: rgba(0, 0, 0, .7);
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.fixed-bottom {
position: fixed;
z-index: 99;
bottom: 0;
width: 100%;
}
// 布局相关
// 水平
.hor {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
// 水平居中
.hor-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
}
// 垂直居中
.ver-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
}
// 子元素内联垂直居中
.center-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
}
// 子元素块联水平垂直居中
.center-center-column {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
}
// 两边对齐
.space-between {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
}
// last-no-border
.last-no-border:last-child {
border: none;
background: none;
}
// 图片设置
img {
max-width: 100%;
}
.img-responsive {
display: block;
width: 100%;
}
// 这里主要应付 antd-mobile 的组件carousel 不能等比缩放的蛋疼问题
.home-swipe {
height: 40.625vw;
max-height: 406.25px;
}
// 文本控制类
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
// 字符溢出隐藏
.text-overflow-1 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
// 字符超出一行溢出隐藏
.text-overflow-one {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
// 字符超出两行溢出隐藏
.text-overflow-2 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
// 字符超出三行溢出隐藏
.text-overflow-3 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
// 浮动控制
.cf {
&:before,
&:after {
content: '';
display: table;
}
&:after {
clear: both;
}
}
.fl {
float: left;
}
.fr {
float: right;
}
.relative {
position: relative;
}
.absolute {
position: absolute;
}
.fixed {
position: fixed;
}
.z-50 {
z-index: 50;
}
.z-100 {
z-index: 100;
}
.z-150 {
z-index: 150;
}
.z-200 {
z-index: 200;
}
.z-250 {
z-index: 250;
}
.z-max {
z-index: 999999;
}
.overflow-h {
overflow: hidden;
}
// 元素绝对定位的垂直水平居中
.absolute-center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
// radio 样式重写
input[type="radio"] {
position: relative;
vertical-align: middle;
width: 0.36rem;
height: 0.36rem;
-webkit-appearance: none !important;
-moz-appearance: none;
border: none;
background: none;
outline: none;
}
input[type="radio"]:before {
position: absolute;
content: '';
display: block;
width: 0.36rem;
height: 0.36rem;
border: 2px solid #999;
background: #fff;
left: 0;
top: 0;
z-index: 100;
border-radius: 50%;
outline: 0;
}
input[type="radio"]:checked:after {
position: absolute;
z-index: 50;
content: '';
display: block;
width: 0.36rem;
height: 0.36rem;
border: 2px solid #999;
background: #fff;
left: 0;
top: 0;
border-radius: 50%;
outline: 0;
}
input[type="radio"]:checked:before {
position: absolute;
z-index: 100;
content: '';
display: block;
width: 0.18rem;
height: 0.18rem;
left: 0.09rem;
top: 0.09rem;
background: #1abc9c;
border-radius: 50%;
border: none;
}
\ No newline at end of file
// 使用建议
// --------------------------------------------------
// CSS Modules 是对现有的 CSS 做减法。为了追求简单可控,建议遵循如下原则:
// ·不使用选择器(id,伪类,标签等),只使用class名来定义样式
// ·不层叠多个class,只使用一个class把所有样式定义好
// ·所有样式通过 composes 组合来实现复用
// ·不嵌套
// --------------------------------------------------
// 公有样式引入variable的目的是为了方便修改页面统一的样式
@import "./variable.scss";
// 颜色设置
$border-color: #e9e9e9; // 边框颜色
$body-color: #333; // 设置通用的字体颜色
$body-bg: #f2f2f2; // 设置通用的 body 背景色
$link-color: #333; // 设置通用的链接颜色
$link-visited: #333; // 设置链接访问后的颜色
$main-color: #09f; // 主体颜色
// 字体
$font-family-zh: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
$font-family-en: Arial, sans-serif !default;
// 盒子模型
$box-model: border-box !default;
// z-index
$z-50: 50;
$z-100: 100;
$z-150: 150;
$z-200: 200;
$z-250: 250;
$z-max: 999999; //为了应付某些插件z-index 值过高的问题
// 全局设置
// --------------------------------------------------
//
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
border: 0 none;
font-size: inherit;
color: inherit;
margin: 0;
padding: 0;
vertical-align: baseline;
/* 在X5新内核Blink中,在排版页面的时候,会主动对字体进行放大,会检测页面中的主字体,当某一块字体在我们的判定规则中,认为字号较小,并且是页面中的主要字体,就会采取主动放大的操作。然而这不是我们想要的,可以采取给最大高度解决 */
max-height: 100000px;
}
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
}
em, strong {
font-style: normal;
}
ul, ol, li {
list-style: none;
}
// 全局盒子模型设置
* {
box-sizing: $box-model;
}
*:before,
*:after {
box-sizing: $box-model;
}
// -webkit-tap-highlight-color 是一个 不规范的属性,它没有出现在 CSS 规范草案中。
// 当用户点击iOS的Safari浏览器中的链接或JavaScript的可点击的元素时,覆盖显示的高亮颜色。
html {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: $font-family-zh;
line-height: 1.5;
color: $body-color;
background-color: $body-bg;
font-size: 0.24rem;
}
// Links
a {
text-decoration: none;
outline: none;
&:hover,
&:link,
&:focus {
text-decoration: none;
}
&:visited {
}
}
// 暂时放置样式,后期需处理
.homeImg {
display: block;
width: 100%;
}
// 字体颜色
.main-color {
color: $main-color;
}
.color333 {
color: #333
}
.color666 {
color: #666
}
.color999 {
color: #999
}
// 背景颜色
.bg-white { background-color: #fff }
// 间隔
.pt20 {
padding-top: 20px;
}
.pt30 {
padding-top: 30px;
}
.pt40 {
padding-top: 40px;
}
.pt50 {
padding-top: 50px;
}
.pt60 {
padding-top: 60px;
}
.plr20 {
padding-left: 0.2rem;
padding-right: 0.2rem;
}
// 请保证你的设计稿为750px宽,如果有其余字体大小,请在私有样式中设置
.font-20 {font-size: 0.2rem;}
.font-24 {font-size: 0.24rem;}
.font-26 {font-size: 0.26rem;}
.font-28 {font-size: 0.28rem;}
.font-30 {font-size: 0.3rem;}
.font-32 {font-size: 0.32rem;}
.font-34 {font-size: 0.34rem;}
.font-36 {font-size: 0.36rem;}
.font-38 {font-size: 0.38rem;}
.font-40 {font-size: 0.4rem;}
// 设置block
.block {
display: block;
}
.show {
display: inherit;
}
.hide {
display: none;
}
// 最外层页面设置
.box {
max-width: 10rem;
margin-left: auto;
margin-right: auto;
}
// 半透明弹层
.alert-bg {
position: fixed;
z-index: $z-50;
width: 100%;
top: 0;
bottom: 0;
background: rgba(0, 0, 0, .6);
display: none; //注意:默认隐藏!!
}
.alpha-bg {
position: fixed;
z-index: 100;
background: rgba(0, 0, 0, .7);
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.fixed-bottom {
position: fixed;
z-index: 99;
bottom: 0;
width: 100%;
}
// 布局相关
// 水平
.hor {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
// 水平居中
.hor-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
}
// 垂直居中
.ver-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
}
// 子元素内联垂直居中
.center-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
}
// 子元素块联水平垂直居中
.center-center-column {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
}
// 两边对齐
.space-between {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
}
// last-no-border
.last-no-border:last-child {
border: none;
background: none;
}
// 图片设置
img {
max-width: 100%;
}
.img-responsive {
display: block;
width: 100%;
}
// 这里主要应付 antd-mobile 的组件carousel 不能等比缩放的蛋疼问题
.home-swipe {
height: 40.625vw;
max-height: 406.25px;
}
// 文本控制类
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
// 字符溢出隐藏
.text-overflow-1 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
// 字符超出一行溢出隐藏
.text-overflow-one {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
// 字符超出两行溢出隐藏
.text-overflow-2 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
// 字符超出三行溢出隐藏
.text-overflow-3 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
// 浮动控制
.cf {
&:before,
&:after {
content: '';
display: table;
}
&:after {
clear: both;
}
}
.fl {
float: left;
}
.fr {
float: right;
}
.relative {
position: relative;
}
.absolute {
position: absolute;
}
.fixed {
position: fixed;
}
.z-50 {
z-index: 50;
}
.z-100 {
z-index: 100;
}
.z-150 {
z-index: 150;
}
.z-200 {
z-index: 200;
}
.z-250 {
z-index: 250;
}
.z-max {
z-index: 999999;
}
.overflow-h {
overflow: hidden;
}
// 元素绝对定位的垂直水平居中
.absolute-center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
// radio 样式重写
input[type="radio"] {
position: relative;
vertical-align: middle;
width: 0.36rem;
height: 0.36rem;
-webkit-appearance: none !important;
-moz-appearance: none;
border: none;
background: none;
outline: none;
}
input[type="radio"]:before {
position: absolute;
content: '';
display: block;
width: 0.36rem;
height: 0.36rem;
border: 2px solid #999;
background: #fff;
left: 0;
top: 0;
z-index: 100;
border-radius: 50%;
outline: 0;
}
input[type="radio"]:checked:after {
position: absolute;
z-index: 50;
content: '';
display: block;
width: 0.36rem;
height: 0.36rem;
border: 2px solid #999;
background: #fff;
left: 0;
top: 0;
border-radius: 50%;
outline: 0;
}
input[type="radio"]:checked:before {
position: absolute;
z-index: 100;
content: '';
display: block;
width: 0.18rem;
height: 0.18rem;
left: 0.09rem;
top: 0.09rem;
background: #1abc9c;
border-radius: 50%;
border: none;
}
\ No newline at end of file
// 公有样式引入variable的目的是为了方便修改页面统一的样式
@import "./variable.scss";
// 颜色设置
$border-color: #e9e9e9; // 边框颜色
$body-color: #333; // 设置通用的字体颜色
$body-bg: #f2f2f2; // 设置通用的 body 背景色
$link-color: #333; // 设置通用的链接颜色
$link-visited: #333; // 设置链接访问后的颜色
$main-color: #09f; // 主体颜色
// 字体
$font-family-zh: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
$font-family-en: Arial, sans-serif !default;
// 盒子模型
$box-model: border-box !default;
// z-index
$z-50: 50;
$z-100: 100;
$z-150: 150;
$z-200: 200;
$z-250: 250;
$z-max: 999999; //为了应付某些插件z-index 值过高的问题
// 全局设置
// --------------------------------------------------
//
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
border: 0 none;
font-size: inherit;
color: inherit;
margin: 0;
padding: 0;
vertical-align: baseline;
/* 在X5新内核Blink中,在排版页面的时候,会主动对字体进行放大,会检测页面中的主字体,当某一块字体在我们的判定规则中,认为字号较小,并且是页面中的主要字体,就会采取主动放大的操作。然而这不是我们想要的,可以采取给最大高度解决 */
max-height: 100000px;
}
h1, h2, h3, h4, h5, h6 {
font-weight: normal;
}
em, strong {
font-style: normal;
}
ul, ol, li {
list-style: none;
}
// 全局盒子模型设置
* {
box-sizing: $box-model;
}
*:before,
*:after {
box-sizing: $box-model;
}
// -webkit-tap-highlight-color 是一个 不规范的属性,它没有出现在 CSS 规范草案中。
// 当用户点击iOS的Safari浏览器中的链接或JavaScript的可点击的元素时,覆盖显示的高亮颜色。
html {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
font-family: $font-family-zh;
line-height: 1.5;
color: $body-color;
background-color: $body-bg;
font-size: 0.24rem;
}
// Links
a {
text-decoration: none;
outline: none;
&:hover,
&:link,
&:focus {
text-decoration: none;
}
&:visited {
}
}
// 暂时放置样式,后期需处理
.homeImg {
display: block;
width: 100%;
}
// 字体颜色
.main-color {
color: $main-color;
}
.color333 {
color: #333
}
.color666 {
color: #666
}
.color999 {
color: #999
}
// 背景颜色
.bg-white { background-color: #fff }
// 间隔
.pt20 {
padding-top: 20px;
}
.pt30 {
padding-top: 30px;
}
.pt40 {
padding-top: 40px;
}
.pt50 {
padding-top: 50px;
}
.pt60 {
padding-top: 60px;
}
.plr20 {
padding-left: 0.2rem;
padding-right: 0.2rem;
}
// 请保证你的设计稿为750px宽,如果有其余字体大小,请在私有样式中设置
.font-20 {font-size: 0.2rem;}
.font-24 {font-size: 0.24rem;}
.font-26 {font-size: 0.26rem;}
.font-28 {font-size: 0.28rem;}
.font-30 {font-size: 0.3rem;}
.font-32 {font-size: 0.32rem;}
.font-34 {font-size: 0.34rem;}
.font-36 {font-size: 0.36rem;}
.font-38 {font-size: 0.38rem;}
.font-40 {font-size: 0.4rem;}
// 设置block
.block {
display: block;
}
.show {
display: inherit;
}
.hide {
display: none;
}
// 最外层页面设置
.box {
max-width: 10rem;
margin-left: auto;
margin-right: auto;
}
// 半透明弹层
.alert-bg {
position: fixed;
z-index: $z-50;
width: 100%;
top: 0;
bottom: 0;
background: rgba(0, 0, 0, .6);
display: none; //注意:默认隐藏!!
}
.alpha-bg {
position: fixed;
z-index: 100;
background: rgba(0, 0, 0, .7);
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.fixed-bottom {
position: fixed;
z-index: 99;
bottom: 0;
width: 100%;
}
// 布局相关
// 水平
.hor {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
// 水平居中
.hor-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
}
// 垂直居中
.ver-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
}
// 子元素内联垂直居中
.center-center {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
}
// 子元素块联水平垂直居中
.center-center-column {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
align-items: center;
justify-content: center;
}
// 两边对齐
.space-between {
display: flex;
flex-direction: row;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
}
// last-no-border
.last-no-border:last-child {
border: none;
background: none;
}
// 图片设置
img {
max-width: 100%;
}
.img-responsive {
display: block;
width: 100%;
}
// 这里主要应付 antd-mobile 的组件carousel 不能等比缩放的蛋疼问题
.home-swipe {
height: 40.625vw;
max-height: 406.25px;
}
// 文本控制类
.text-left {
text-align: left;
}
.text-right {
text-align: right;
}
.text-center {
text-align: center;
}
// 字符溢出隐藏
.text-overflow-1 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
// 字符超出一行溢出隐藏
.text-overflow-one {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
}
// 字符超出两行溢出隐藏
.text-overflow-2 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
// 字符超出三行溢出隐藏
.text-overflow-3 {
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
// 浮动控制
.cf {
&:before,
&:after {
content: '';
display: table;
}
&:after {
clear: both;
}
}
.fl {
float: left;
}
.fr {
float: right;
}
.relative {
position: relative;
}
.absolute {
position: absolute;
}
.fixed {
position: fixed;
}
.z-50 {
z-index: 50;
}
.z-100 {
z-index: 100;
}
.z-150 {
z-index: 150;
}
.z-200 {
z-index: 200;
}
.z-250 {
z-index: 250;
}
.z-max {
z-index: 999999;
}
.overflow-h {
overflow: hidden;
}
// 元素绝对定位的垂直水平居中
.absolute-center {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
// radio 样式重写
input[type="radio"] {
position: relative;
vertical-align: middle;
width: 0.36rem;
height: 0.36rem;
-webkit-appearance: none !important;
-moz-appearance: none;
border: none;
background: none;
outline: none;
}
input[type="radio"]:before {
position: absolute;
content: '';
display: block;
width: 0.36rem;
height: 0.36rem;
border: 2px solid #999;
background: #fff;
left: 0;
top: 0;
z-index: 100;
border-radius: 50%;
outline: 0;
}
input[type="radio"]:checked:after {
position: absolute;
z-index: 50;
content: '';
display: block;
width: 0.36rem;
height: 0.36rem;
border: 2px solid #999;
background: #fff;
left: 0;
top: 0;
border-radius: 50%;
outline: 0;
}
input[type="radio"]:checked:before {
position: absolute;
z-index: 100;
content: '';
display: block;
width: 0.18rem;
height: 0.18rem;
left: 0.09rem;
top: 0.09rem;
background: #1abc9c;
border-radius: 50%;
border: none;
}
\ No newline at end of file
/*
* @ 文字颜色
*/
$white: #fff;
$black: #000;
$color_333: #333;
$color_666: #666;
$color_999: #999;
/*
* @ 文字大小
*/
$font_30: 30px;
$font_28: 28px;
$font_26: 26px;
$font_24: 24px;
$font_22: 22px;
$font_20: 20px;
$font_18: 18px;
$font_16: 16px;
$font_14: 14px;
$font_12: 12px;
/*
* @ 背景颜色
*/
$bg_active: #09f;
$bg_fff: #fff;
$bg_000: #000;
$bg_f4f4f4: #f4f4f4;
$bg_f5f5f5: #f5f5f5;
$body-bg: #fff; //设置通用的 body 背景色
/*
* @ 文字颜色
*/
$border-color: #e9e9e9; //边框颜色
$body-color: #333; //设置通用的字体颜色
$link-color: #333; //设置通用的链接颜色
$link-visited: #333; //设置链接访问后的颜色
/*
* @ 边框颜色
*/
/*
* @ 文字颜色
*/
/*
* @ 文字颜色
*/
$white: #fff;
$black: #000;
$color_333: #333;
$color_666: #666;
$color_999: #999;
/*
* @ 文字大小
*/
$font_30: 30px;
$font_28: 28px;
$font_26: 26px;
$font_24: 24px;
$font_22: 22px;
$font_20: 20px;
$font_18: 18px;
$font_16: 16px;
$font_14: 14px;
$font_12: 12px;
/*
* @ 背景颜色
*/
$bg_active: #09f;
$bg_fff: #fff;
$bg_000: #000;
$bg_f4f4f4: #f4f4f4;
$bg_f5f5f5: #f5f5f5;
$body-bg: #fff; //设置通用的 body 背景色
/*
* @ 分割线颜色
*/
$sp_ddd: #ddd;
$sp_e7eaf1: #e7eaf1;
/*
* @ 边框颜色
*/
/*
* @ 文字颜色
*/
/*
* @ 文字颜色
*/
$white: #fff;
$black: #000;
$color_333: #333;
$color_555: #555;
$color_666: #666;
$color_999: #999;
/*
* @ 文字大小
*/
$font_30: 30px;
$font_28: 28px;
$font_26: 26px;
$font_24: 24px;
$font_22: 22px;
$font_20: 20px;
$font_18: 18px;
$font_16: 16px;
$font_14: 14px;
$font_12: 12px;
/*
* @ 背景颜色
*/
$bg_active: #09f;
$bg_fff: #fff;
$bg_000: #000;
$bg_f4f4f4: #f4f4f4;
$bg_f5f5f5: #f5f5f5;
$body-bg: #fff; //设置通用的 body 背景色
/*
* @ 分割线颜色
*/
$sp_ddd: #ddd;
$sp_e7eaf1: #e7eaf1;
/*
* @ 边框颜色
*/
/*
* @ 文字颜色
*/
$active: #09f;
$white: #fff;
$black: #000;
$color_333: #333;
$color_555: #555;
$color_666: #666;
$color_999: #999;
/*
* @ 文字大小
*/
$font_30: 30px;
$font_28: 28px;
$font_26: 26px;
$font_24: 24px;
$font_22: 22px;
$font_20: 20px;
$font_18: 18px;
$font_16: 16px;
$font_14: 14px;
$font_12: 12px;
/*
* @ 背景颜色
*/
$bg_active: #09f;
$bg_fff: #fff;
$bg_000: #000;
$bg_f4f4f4: #f4f4f4;
$bg_f5f5f5: #f5f5f5;
$body-bg: #fff; //设置通用的 body 背景色
/*
* @ 分割线颜色
*/
$sp_ddd: #ddd;
$sp_e7eaf1: #e7eaf1;
/*
* @ 边框颜色
*/
/*
* @ 文字颜色
*/
$active: #09f;
$white: #fff;
$black: #000;
$color_333: #333;
$color_555: #555;
$color_666: #666;
$color_999: #999;
/*
* @ 文字大小
*/
$font_30: 30px;
$font_28: 28px;
$font_26: 26px;
$font_24: 24px;
$font_22: 22px;
$font_20: 20px;
$font_18: 18px;
$font_16: 16px;
$font_14: 14px;
$font_12: 12px;
/*
* @ 背景颜色
*/
$bg_active: #09f;
$bg_fff: #fff;
$bg_000: #000;
$bg_f4f4f4: #f4f4f4;
$bg_f5f5f5: #f5f5f5;
$body-bg: #fff; // 设置通用的 body 背景色
/*
* @ 分割线颜色
*/
$sp_ddd: #ddd;
$sp_e7eaf1: #e7eaf1;
/*
* @ 边框颜色
*/
/*
* @ 文字颜色
*/
$active: #09f;
$white: #fff;
$black: #000;
$color_333: #333;
$color_555: #555;
$color_666: #666;
$color_999: #999;
/*
* @ 文字大小
*/
$font_30: 30px;
$font_28: 28px;
$font_26: 26px;
$font_24: 24px;
$font_22: 22px;
$font_20: 20px;
$font_18: 18px;
$font_16: 16px;
$font_14: 14px;
$font_12: 12px;
/*
* @ 背景颜色
*/
$bg_active: #09f;
$bg_fff: #fff;
$bg_000: #000;
$bg_f4f4f4: #f4f4f4;
$bg_f5f5f5: #f5f5f5;
$body-bg: #fff;
/*
* @ 分割线颜色
*/
$sp_ddd: #ddd;
$sp_e7eaf1: #e7eaf1;
/*
* @ 边框颜色
*/
......@@ -110,6 +110,14 @@ module.exports = function(webpackEnv) {
sourceMap: isEnvProduction && shouldUseSourceMap,
},
});
if(preProcessor == 'sass-loader' && !cssOptions.modules){
loaders.push({
loader: require.resolve('sass-resources-loader'),
options: {
resources: [require.resolve('../src/styles/variable.scss')]
}
})
}
}
return loaders;
};
......@@ -427,6 +435,7 @@ module.exports = function(webpackEnv) {
},
'sass-loader'
),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
......
......@@ -50,7 +50,8 @@
"react-router-dom": "^5.0.0",
"redux": "^4.0.1",
"resolve": "1.10.0",
"sass-loader": "7.1.0",
"sass-loader": "^7.1.0",
"sass-resources-loader": "^2.0.0",
"style-loader": "0.23.1",
"terser-webpack-plugin": "1.2.2",
"url-loader": "1.1.2",
......@@ -133,10 +134,8 @@
]
},
"devDependencies": {
"babel-plugin-import": "^1.11.0"
"babel-plugin-import": "^1.11.0",
"sass-resources-loader": "^2.0.0"
},
"theme": {
"brand-primary": "green",
"color-text-base": "#333"
}
"theme": "./src/assets/theme/config.js"
}
module.exports = function() {
return {
"@brand-primary": 'green'
}
}
\ No newline at end of file
......@@ -8,7 +8,7 @@
line-height: 1;
color: #666;
&:hover {
color: #0099ff;
color: $active;
}
}
......
import React, { Component } from 'react';
import { Flex, WhiteSpace, NavBar } from 'antd-mobile';
import './index.scss';
class My extends Component {
......@@ -8,13 +9,17 @@ class My extends Component {
<div className="flex-container">
<Flex>
<Flex.Item>
<div >
<NavBar
style={{'backGround': '#f7f9fc'}}
className="my-tab"
mode="light"
onLeftClick={() => console.log('onLeftClick')}
rightContent={[
]}
>首页</NavBar>
>
我的
</NavBar>
</div>
</Flex.Item>
</Flex>
<WhiteSpace size="lg" />
......
.my-tab{
width: 100%;
height: 44px;
font-size: $font_16;
background: #f7f9fc;
}
\ No newline at end of file
......@@ -6,6 +6,7 @@ import Router from './router';
// 默认样式
import './styles/index.scss';
// iconfont
import './font/iconfont.css';
......
// 使用建议
// --------------------------------------------------
// CSS Modules 是对现有的 CSS 做减法。为了追求简单可控,建议遵循如下原则:
// ·不使用选择器(id,伪类,标签等),只使用class名来定义样式
// ·不层叠多个class,只使用一个class把所有样式定义好
// ·所有样式通过 composes 组合来实现复用
// ·不嵌套
// --------------------------------------------------
// 公有样式引入mixins的目的是为了方便默认设置若干常用的样式
// 公有样式不可以使用composes
// 公有样式引入variable的目的是为了方便修改页面统一的样式
@import "./variable.scss";
// 颜色设置
$border-color: #e9e9e9; //边框颜色
$body-color: #333; //设置通用的字体颜色
$body-bg: #f2f2f2; //设置通用的 body 背景色
$link-color: #333; //设置通用的链接颜色
$link-visited: #333; //设置链接访问后的颜色
$main-color: #09f; //主体颜色
$border-color: #e9e9e9; // 边框颜色
$body-color: #333; // 设置通用的字体颜色
$body-bg: #f2f2f2; // 设置通用的 body 背景色
$link-color: #333; // 设置通用的链接颜色
$link-visited: #333; // 设置链接访问后的颜色
$main-color: #09f; // 主体颜色
// 字体
$font-family-zh: "Helvetica Neue",Helvetica,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif;
......
/*
* @ 文字颜色
*/
$active: #09f;
$white: #fff;
$black: #000;
$color_333: #333;
$color_555: #555;
$color_666: #666;
$color_999: #999;
......@@ -28,23 +30,21 @@ $font_12: 12px;
* @ 背景颜色
*/
$bg_active: #09f;
$bg_fff: #fff;
$bg_000: #000;
$bg_f4f4f4: #f4f4f4;
$body-bg: #f2f2f2; //设置通用的 body 背景色
$bg_f5f5f5: #f5f5f5;
$body-bg: #fff;
/*
* @ 文字颜色
* @ 分割线颜色
*/
$border-color: #e9e9e9; //边框颜色
$body-color: #333; //设置通用的字体颜色
$link-color: #333; //设置通用的链接颜色
$link-visited: #333; //设置链接访问后的颜色
$sp_ddd: #ddd;
$sp_e7eaf1: #e7eaf1;
/*
* @ 边框颜色
*/
/*
* @ 文字颜色
*/
......@@ -6179,7 +6179,7 @@ loader-runner@^2.3.0:
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0:
loader-utils@1.2.3, loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.0.4, loader-utils@^1.1.0:
version "1.2.3"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7"
integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==
......@@ -9247,7 +9247,7 @@ sass-graph@^2.2.4:
scss-tokenizer "^0.2.3"
yargs "^7.0.0"
sass-loader@7.1.0:
sass-loader@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-7.1.0.tgz#16fd5138cb8b424bf8a759528a1972d72aad069d"
integrity sha512-+G+BKGglmZM2GUSfT9TLuEp6tzehHPjAMoRRItOojWIqIGPloVCMhNIQuG639eJ+y033PaGTSjLaTHts8Kw79w==
......@@ -9259,6 +9259,16 @@ sass-loader@7.1.0:
pify "^3.0.0"
semver "^5.5.0"
sass-resources-loader@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/sass-resources-loader/-/sass-resources-loader-2.0.0.tgz#88569c542fbf1f18f33a6578b77cc5b36c56911d"
integrity sha512-I+5FfV+Hb29U5Nt8DbslWOBgRmTv1M/EwOn4/4rc6Aqy9yjygoa8UTnyCFXfTZV8FoQyIBZbEyKSBryhByqQbA==
dependencies:
async "^2.1.4"
chalk "^1.1.3"
glob "^7.1.1"
loader-utils "^1.0.4"
sax@^1.2.4, sax@~1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment