Authored by zhangxiaoru

hotrankCss

... ... @@ -8,11 +8,13 @@ const co = require('bluebird').coroutine;
function humanNum_wan(num) {
if (num > 9999) {
num = (num / 10000).toFixed(2) + '万'
}
return num;
// if (num > 9999) {
// num = (num / 10000).toFixed(2) + '万'
// }
// return num;
}
exports.beforeIn = (req, res, next) => {
... ... @@ -87,7 +89,7 @@ exports.crazyWheel = (req, res, next) => {
}
vipDayModel.getJoinNum(1).then(result => {
let joins = result && result.data || 0;
let joins = result && result.data || 0;
res.render('vip_day/crazy_wheel', {
title: '疯狂大转盘',
... ... @@ -111,7 +113,7 @@ exports.crazyLuck = (req, res, next) => {
let joinNum = yield vipDayModel.getJoinNum(2);
coins = (coins && coins.data && coins.data.total) || 0;
joinNum = (joinNum && joinNum.data) || 0
joinNum = (joinNum && joinNum.data) || 0;
res.render('vip_day/crazy_luck', {
title: '拼手气',
... ...
... ... @@ -24,10 +24,12 @@ const _baseShop = (req, res, shopInfo, shopId) => {
pageHeader: headerModel.setNav({
navTitle: result.shopName
}),
title: result.shopName,
goodList: result,
showDownloadApp: true,
pageFooter: true,
title: shopInfo.shopName + '|' + shopInfo.shopName + '潮流服装服饰-Yoho!Buy有货',
keywords: shopInfo.shopName + ',' + shopInfo.shopName + '服装服饰,' + shopInfo.shopName + '潮流服装服饰',
description: shopInfo.shopName + '|Yoho!Buy有货' + shopInfo.shopName + '潮流服饰官方授权店!100%品牌正品保证,支持货到付款。',
shopId: shopId,
});
});
... ... @@ -101,6 +103,12 @@ const _shop = (req, res, shopId) => {
shopHeadHide: true,
gender: req.query.gender,
channel: req.query.channel,
pageHeader: headerModel.setNav({
navTitle: result.storeName
}),
title: result.storeName + '|' + result.storeName + '潮流服装服饰-Yoho!Buy有货',
keywords: result.storeName + ',' + result.storeName + '服装服饰,' + result.storeName + '潮流服装服饰',
description: result.storeName + '|Yoho!Buy有货' + result.storeName + '潮流服饰官方授权店!100%品牌正品保证,支持货到付款。',
shopId: shopId,
});
}
... ... @@ -181,7 +189,6 @@ const brand = (req, res, next) => {
}
listModel.getBrandLogoByDomain(domain).then((result) => {
brandLogo = result;
title = brandLogo.name;
... ... @@ -222,7 +229,7 @@ const brand = (req, res, next) => {
}, resData[0]);
});
}
}).then((brandHome) => {
}).then(brandHome => {
params.brandHome = brandHome;
res.render('search/goods-list', {
... ... @@ -234,6 +241,9 @@ const brand = (req, res, next) => {
goodList: params,
showDownloadApp: true,
pageFooter: true,
title: title + '|' + title + '潮流服装服饰-Yoho!Buy有货',
keywords: title + ',' + title + '服装服饰,' + title + '潮流服装服饰',
description: title + '|Yoho!Buy有货' + title + '潮流服饰官方授权店!100%品牌正品保证,支持货到付款。',
domain: req.query.domain,
});
});
... ... @@ -292,7 +302,7 @@ const shopIntro = (req, res, next) => {
* opt 操作标识("ok":表示收藏,"cancel":表示取消收藏)
*/
const favoriteBrand = (req, res, next) => {
res.setHeader('Access-Control-Allow-Origin', req.protocol + '://' + req.headers.host);
res.setHeader('Access-Control-Allow-Origin', req.protocol + '://' + req.headers.origin);
res.setHeader('Access-Control-Allow-Credentials', 'true');
let id = req.query.id;
... ...
... ... @@ -157,6 +157,13 @@ const search = (req, res, next) => {
let params = Object.assign({}, req.query);
if (params.query) {
let activity = _.get(searchModel.searchKeyActivity(params.query), 'data.urlobj.appUrl', '');
if (activity) {
res.redirect(activity);
}
}
searchModel.getSearchData(params).then((result) => {
res.render('search/page', {
layout: false,
... ...
... ... @@ -22,7 +22,7 @@ app.on('mount', function(parent) {
app.set('views', path.join(__dirname, 'views/action'));
app.engine('.hbs', hbs({
extname: '.hbs',
defaultLayout: 'layout',
defaultLayout: 'shop-layout',
layoutsDir: doraemon,
partialsDir: [path.join(__dirname, 'views/partial'), `${doraemon}/partial`],
helpers: global.yoho.helpers
... ...
... ... @@ -396,9 +396,11 @@ const getBaseShopData = (params, shopInfo) => {
cartUrl: helpers.urlFormat('/cart/index/index')
};
let shopId = params.shop_id || shopInfo.shopsId;
return api.all([
_getShopDecorator(params.shop_id),
getShopBrands(params.shop_id)
_getShopDecorator(shopId),
getShopBrands(shopId)
]).then(result => {
if (result[0] && _.has(result[0], 'list')) {
... ... @@ -410,7 +412,7 @@ const getBaseShopData = (params, shopInfo) => {
baseShopHome: {
appVersion: _.get(params, 'app_version', ''),
isBaseShop: true,
id: params.shop_id,
id: shopId,
intro: shopInfo.shopIntro,
collected: shopInfo.isFavorite === 'Y',
banner: _.get(banner[0], 'shopSrc', '')
... ... @@ -422,7 +424,7 @@ const getBaseShopData = (params, shopInfo) => {
if (params.multBrandShopType === '2') {
// 转义店铺
finalResult.shop_id = params.shop_id;
finalResult.shop_id = shopId;
} else {
finalResult.brand = result[1];
}
... ...
... ... @@ -195,6 +195,11 @@ const getSearchIndex = () => {
});
};
/**
* 获取联想词
* @param params
* @returns {*|Promise.<TResult>}
*/
const getFuzzyDatas = (params) => {
return api.get('', {
method: 'app.search.fuzzy',
... ... @@ -209,11 +214,30 @@ const getFuzzyDatas = (params) => {
});
};
/**
* 查询关键词是否正参加活动
* @param params
* @returns {*|Promise.<TResult>}
*/
const searchKeyActivity = (params) => {
return api.get('', {
method: 'app.search.word',
query: params
}, {code: 200}).then(result => {
if (result.data) {
return result.data;
} else {
return {};
}
});
};
module.exports = {
getSearchData,
getFilterData,
getAllBrandNames,
getClassNames,
getSearchIndex,
getFuzzyDatas
getFuzzyDatas,
searchKeyActivity
};
... ...
... ... @@ -33,7 +33,7 @@ const list = require(`${cRoot}/list`);
// 新品到着 controller
const news = require(`${cRoot}/new`);
//热销排行榜
// 热销排行榜
const newsale = require(`${cRoot}/newsale`);
// recom
... ...
... ... @@ -22,15 +22,16 @@ module.exports = () => {
}
break;
case 'search': // search
if (req.path === '/' && _.keys(req.query).length) {
if (req.path === '/') {
// 有查询关键字
req.url = `/product/search/list?${querystring.stringify(req.query)}`;
} else {
// 无查询关键字
req.url = `/product/search/index?${querystring.stringify(req.query)}`;
if (_.keys(req.query).length) {
req.url = `/product/search/list?${querystring.stringify(req.query)}`;
} else {
req.url = `/product/search/index?${querystring.stringify(req.query)}`;
}
}
if (req.path === '/search') {
req.url = `/product/search/index?${querystring.stringify(req.query)}`;
}
... ...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>{{title}}</title>
<meta name="keywords" content="{{keywords}}">
<meta name="description" content="{{description}}">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<meta http-equiv="cleartype" content="on">
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta content="telephone=no" name="format-detection" />
<meta content="email=no" name="format-detection" />
<link rel="dns-prefetch" href="//cdn.yoho.cn">
<link rel="dns-prefetch" href="//static.yohobuy.com">
<link rel="dns-prefetch" href="//img12.static.yhbimg.com">
<link rel="dns-prefetch" href="//img13.static.yhbimg.com">
<script type="text/javascript">
(function(d,c){var e=d.documentElement,a="orientationchange" in window?"orientationchange":"resize",b=function(){var f=e.clientWidth;if(!f){return}if(f>=640){e.style.fontSize="40px"}else{e.style.fontSize=40*(f/640)+"px"}};if(!d.addEventListener){return}b();c.addEventListener(a,b,false);d.addEventListener("DOMContentLoaded",b,false)})(document,window);
</script>
{{#if devEnv}}
<link rel="stylesheet" href="//localhost:5001/css/shop.css">
{{^}}
<link rel="stylesheet" href="//cdn.yoho.cn/m-yohobuy-node/{{version}}/shop.css">
{{/if}}
<link rel="apple-touch-icon-precomposed" href="http://static.yohobuy.com/m/v1/img/touch/apple-touch-icon-144x144-precomposed-new.png">
<link rel="apple-touch-startup-image" sizes="640x920" href="http://static.yohobuy.com/m/v1/img/startup/startup-retina.png" media="screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2)">
<link rel="apple-touch-startup-image" sizes="320x460" href="http://static.yohobuy.com/m/v1/img/startup/startup.png" media="screen and (max-device-width: 320)">
</head>
<body {{#if isPassportPage}}class=passport-body{{/if}} {{#if isStarIndexPage}} class="star-index-bg"{{/if}} {{#if isStarDetailPage}}class="star-class-body"{{/if}}>
<div class="main-wrap">
{{#if systemUpdate}}
{{> updata}}
{{/if}}
{{#unless shopHeadHide}}
{{> header}}
{{/unless}}
{{{body}}}
{{> footer}}
</div>
{{> download-app}}
{{#wechatShare}}
<script type="text/javascript" src="//res.wx.qq.com/open/js/jweixin-1.1.0.js"></script>
{{/wechatShare}}
{{#if devEnv}}
<script src="//localhost:5001/libs.js"></script>
<script src="//localhost:5001/{{module}}.{{page}}.js"></script>
{{^}}
<script src="//cdn.yoho.cn/m-yohobuy-node/{{version}}/libs.js"></script>
<script src="//cdn.yoho.cn/m-yohobuy-node/{{version}}/{{module}}.{{page}}.js"></script>
{{/if}}
{{#unless devEnv}}
{{> analysis}}
{{/unless}}
</body>
</html>
... ...
... ... @@ -142,7 +142,7 @@ gulp.task('dist', ['ge'], () => {
// postcss compile in dev
gulp.task('postcss-dev', () => {
return gulp.src('scss/index.css')
return gulp.src(['scss/index.css', 'scss/shop.css'])
.pipe(sourcemaps.init())
.pipe(postcss(postcssPlugin(env.dev)))
.pipe(sourcemaps.write('.'))
... ... @@ -171,7 +171,7 @@ gulp.task('font', () => {
// postcss compile in pro
gulp.task('postcss', ['assets'], () => {
return gulp.src('scss/index.css')
return gulp.src(['scss/index.css', 'scss/shop.css'])
.pipe(postcss(postcssPlugin(env.pro)))
.pipe(cssnano({
safe: true
... ...

38.5 KB | W: | H:

29.6 KB | W: | H:

  • 2-up
  • Swipe
  • Onion skin
... ... @@ -617,9 +617,9 @@ if ($brandHeader.length > 0) {
opt: opt,
type: $brandHeader.data('isbaseshop') ? 'shop' : 'brand'
},
xhrFields: {
withCredentials: true
},
xhrFields: {
withCredentials: true
},
success: function(data) {
if (data.code === 200) {
$this.toggleClass('coled');
... ...
... ... @@ -218,7 +218,7 @@ function getParam(req) {
function newData(callback) {
var req = {};
req.url = location.protocol + '//m.yohobuy.com/index/search/search';
req.url = location.protocol + '//m.yohobuy.com/product/search/search';
req.data = {
type: 'new',
order: '1',
... ... @@ -231,7 +231,7 @@ function newData(callback) {
req.callBack = function(data) {
$('#new-arrival').append(data);
navInfo.new.page++;
myScroll.refresh();
myScroll && myScroll.refresh();
lazyLoad($('#new-arrival .lazy'));
scH = $('#scroller').outerHeight();
searching = false;
... ... @@ -243,7 +243,7 @@ function newData(callback) {
function hotData(callback) {
var req = {};
req.url = location.protocol + '//m.yohobuy.com/index/search/search';
req.url = location.protocol + '//m.yohobuy.com/product/search/search';
req.data = {
type: 'hot',
order: '1',
... ... @@ -256,8 +256,7 @@ function hotData(callback) {
req.callBack = function(data) {
$('#popularity').append(data);
navInfo.hot.page++;
// myScroll.refresh();
myScroll && myScroll.refresh();
lazyLoad($('#popularity .lazy'));
scH = $('#scroller').outerHeight();
searching = false;
... ... @@ -303,8 +302,7 @@ function tabChange(dom, index) {
$nav1.removeClass('fixed-top absolute');
$nav2.removeClass('fixed-top absolute');
}
// myScroll && myScroll.refresh();
myScroll && myScroll.refresh();
scH = $('#scroller').outerHeight();
if (!$nav1.hasClass('hide')) {
myScroll && myScroll.scrollTo(0, 0 - imgH);
... ... @@ -371,7 +369,7 @@ function scrollHandler() {
type: 'shop_id',
id: shopId,
brand: brand,
url: location.protocol + '//m.yohobuy.com/index/search/search',
url: location.protocol + '//m.yohobuy.com/product/search/search',
nextPage: true
});
}
... ... @@ -466,6 +464,8 @@ function scrollHandler() {
});
}
}
$('#scroller').trigger('scroll');
}
document.addEventListener('touchmove', function(e) {
... ... @@ -486,9 +486,9 @@ $(window).ready(function() {
imgH = $('#nav-top').outerHeight();
nav1H = $('#nav').outerHeight();
main1H = $('#nav-main').height();
main1oH = $('#nav-main').outerHeight();
nav2H = $('#list-nav').outerHeight();
main2oH = $('#goods-container').outerHeight();
main1oH = $('#nav-main').outerHeight(true);
nav2H = $('#list-nav').outerHeight(true);
main2oH = $('#goods-container').outerHeight(true);
myScroll = new IScroll('#wrapper', {
... ... @@ -519,7 +519,7 @@ $(window).ready(function() {
multiSwiper && multiSwiper.startAutoplay();
$('#scroller').trigger('scroll');
// $('#scroller').trigger('scroll');
scrollHandler.bind(this)();
});
lazyLoad($('img.lazy'));
... ... @@ -541,7 +541,7 @@ function search(opt) {
}
if (!opt.url) {
opt.url = location.protocol + '//m.yohobuy.com/index/search/search';
opt.url = location.protocol + '//m.yohobuy.com/product/search/search';
}
$pre = $listNav.find('.active').eq(0);
... ... @@ -739,10 +739,11 @@ $subNav.on('touchend touchcancel', function(e) {
// 筛选面板切换状态
if ($this.hasClass('active')) {
$this.removeClass('active');
filter.hideFilter();
myScroll && myScroll.enable();
} else {
$this.addClass('active');
myScroll && myScroll.scrollTo(0, -(imgH + main1oH + nav1H));
theY = imgH + main1oH + nav1H;
... ... @@ -760,6 +761,9 @@ $subNav.on('touchend touchcancel', function(e) {
myScroll && myScroll.disable();
}
} else {
filter.hideFilter();// 隐藏面板
if ($this.hasClass('new')) {
cname = '.new';
navType = 'newest';
... ... @@ -850,7 +854,7 @@ $subNav.on('touchend touchcancel', function(e) {
type: 'shop_id',
id: shopId,
brand: brand,
url: location.protocol + '//m.yohobuy.com/index/search/search',
url: location.protocol + '//m.yohobuy.com/product/search/search',
nextPage: false
});
}
... ... @@ -908,7 +912,7 @@ function stopPropagation(e) {
}
}
$(document).bind('touchstart', function(e) {
$(document).bind('touchstart', function() {
$('.sub-group').addClass('hide');
});
... ... @@ -940,9 +944,9 @@ $collect.on('touchstart', function() {
opt: opt,
type: 'shop'
},
xhrFields: {
withCredentials: true
},
xhrFields: {
withCredentials: true
},
success: function(data) {
var url = '';
... ... @@ -965,7 +969,7 @@ $collect.on('touchstart', function() {
}
setTimeout(function() {
// myScroll.refresh();
myScroll && myScroll.refresh();
scH = $('#scroller').outerHeight();
}, 500);
searching = false;
... ...
... ... @@ -8,6 +8,7 @@
*
* 希望能与 微信 JS-SDK 一样方便
*/
var $ = require('yoho-jquery');
var tip = require('./plugin/tip');
/* 空方法 */
... ... @@ -16,11 +17,22 @@ var emptyFn = function() { };
/* 提示信息 */
var tipInfo = '暂不支持,请在YOHO!BUY应用中打开';
var yoho = {
var qs = window.queryString;
var yoho, $appLink;
$appLink = $('#yoho-app-link');
if (!$appLink.length) {
$('body').append('<a id="yoho-app-link" href="javascript:;" style="display:none !important;"></a>');
$appLink = $('#yoho-app-link');
}
yoho = {
/**
* 判断是否是 APP
*/
isApp: /YohoBuy/i.test(navigator.userAgent || ''),
isApp: /YohoBuy/i.test(navigator.userAgent || '') || qs.app_version,
isiOS: /\(i[^;]+;( U;)? CPU.+Mac OS X/i.test(navigator.userAgent || ''),
isAndroid: /Android/i.test(navigator.userAgent || ''),
... ... @@ -73,12 +85,85 @@ var yoho = {
}, 500);
},
parseUrl: function(url) {
var query = {},
hashs,
hash,
i;
url = (url || '').split('?');
hashs = url[1].split('&');
if (hashs && hashs.length) {
for (i = 0; i < hashs.length; i++) {
hash = hashs[i].split('=');
console.log(hashs[i]);
query[hash[0]] = hash[1];
}
}
return {
path: url[0],
query: query
};
},
getUid: function() {
if (window.queryString.app_version) {
return window.queryString.uid || 0;
if (yoho.isApp) {
return qs.uid;
}
return window.gitUid();
},
goLogin: function(refer, data) {
var url;
url = 'http://m.yohobuy.com/signin.html?refer=' + encodeURIComponent(refer);
refer = yoho.parseUrl(refer || location.href);
if (yoho.isApp) {
url = url + '&openby:yohobuy=' + (data || JSON.stringify({
action: 'go.weblogin',
params: {
priority: 'N',
jumpurl: {
url: refer.path,
param: refer.query
}
}
}));
}
$appLink.attr('href', url);
$appLink[0].click();
return false;
},
goH5: function(link, data) {
var url = link;
if (!link) {
return;
}
link = yoho.parseUrl(link || location.href);
if (yoho.isApp) {
url = url + '&openby:yohobuy=' + (data || JSON.stringify({
action: 'go.h5',
params: {
islogin: 'N',
type: 0,
updateflag: Date.now() + '',
url: link.path,
param: link.query
}
}));
}
return window.getUid() || 0;
$appLink.attr('href', url);
$appLink[0].click();
return false;
}
};
... ...
.hot-category {
margin: 30px 0 0;
border-bottom: 1px solid #e0e0e0;
.category-banner {
height: 198px;
img {
display: block;
width: 100%;
height: 198px;
}
}
.category-list {
background: #fff;
li {
float: left;
width: 158px;
height: 158px;
border-top: 1px solid #e0e0e0;
border-left: 1px solid #e0e0e0;
overflow: hidden;
position: relative;
.img-box {
width: 100%;
height: 100%;
line-height: 154px;
text-align: center;
overflow: hidden;
font-size: 0;
position: relative;
img {
vertical-align: middle;
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
}
}
.category-title {
line-height: 22px;
color: #aaa;
font-size: 18px;
text-align: center;
}
.img-cover {
position: absolute;
height: 42px;
line-height: 42px;
text-align: center;
width: 100%;
bottom: 0;
color: #000;
font-size: 22px;
}
}
}
}
... ...
@charset "utf-8";
/* base */
@import "me/index";
@import "layout/reset";
... ... @@ -18,7 +19,6 @@
@import "layout/form";
@import "common/index";
@import "channel/index";
@import "product/index";
@import "activity/index";
@import "activity/invite";
@import "passport/index";
... ... @@ -26,4 +26,3 @@
@import "cart/chose-panel";
@import "home/index";
@import "me/index";
@import "home/index";
... ...
... ... @@ -6,6 +6,10 @@
right: 0;
overflow: hidden;
.nav-main {
margin-bottom: 30px;
}
.branner-top {
width: 100%;
height: 200px;
... ... @@ -76,33 +80,33 @@
background: #fff;
overflow: hidden;
border-sizing: border-box;
border-bottom: 1px solid #e1e1e1;
li {
color: #b1b1b1;
border-bottom: 1px solid #e0e0e0;
z-index: 2;
li{
display: block;
height: 28px;
float: left;
line-height: 28px;
width: 24.7%;
text-align: center;
border-left: 1px solid #e1e1e1;
border-left: 1px solid #e0e0e0;
margin-top: 30px;
border-sizing: border-box;
color: #b1b1b1;
color: #b0b0b0;
&:first-child {
border-left: none;
}
a {
color: #b1b1b1;
color: #b0b0b0;
}
}
.color {
color: #000;
}
color: #444;
}
}
.main {
... ... @@ -116,10 +120,6 @@
margin-bottom: 30px;
}
.hide {
display: hidden;
}
.coupon {
width: 100%;
padding: 30px 0;
... ... @@ -138,7 +138,7 @@
width: 100%;
height: 270px;
background: #fff;
border: 1px solid #e1e1e1;
border: 1px solid #e0e0e0;
border-top: none;
font-size: 20px;
text-align: center;
... ... @@ -157,15 +157,15 @@
.brand-img {
margin-left: 30px;
width: 30%;
width: 140px;
height: 150px;
overflow: hidden;
padding-bottom: 20px;
float: left;
p {
font-size: 25px;
color: #b1b1b1;
font-size: 18px;
color: #b0b0b0;
padding-top: 10px;
height: 30px;
white-space: nowrap;
... ... @@ -174,40 +174,52 @@
}
img {
height: 70%;
height: 120px;
}
}
.spring {
margin: 0;
margin: 0 15px;
overflow: hidden;
li {
width: 50%;
height: 168px;
height: 160px;
float: left;
text-align: center;
list-style: none;
display: list-item;
img {
width: 90%;
width: 275px;
height: inherit;
border-radius: 10px;
vertical-align: top;
}
}
}
.popularity-title {
.hot-category .floor-header {
margin: 0;
}
.popularity-title, .hot-category .floor-header {
background: #fff;
border-bottom: 1px solid #e8e8e8;
border-bottom: 1px solid #e0e0e0;
border-top: 1px solid #e0e0e0;
color: #444;
text-align: center;
line-height: 98px;
font-size: 32px;
margin-top: 40px;
height: 100px;
line-height: 100px;
font-size: 30px;
margin-top: 30px;
position: relative;
}
.hot-category .floor-header {
border-bottom: none;
}
.more {
position: absolute;
right: 30px;
... ... @@ -272,7 +284,7 @@
.icon {
position: relative;
color: #b1b1b1;
color: #b0b0b0;
i {
position: absolute;
... ... @@ -319,7 +331,7 @@
.discount:after {
height: 28px;
content: '';
border-left: 1px solid #e1e1e1;
border-left: 1px solid #e0e0e0;
position: absolute;
top: 25px;
left: 163px;
... ... @@ -329,11 +341,16 @@
.discount-area {
@extend .sale-page;
#list-nav {
border-top: 1px solid #e0e0e0;
border-bottom: 1px solid #e0e0e0;
}
.list-nav li {
display: block;
height: 78px;
height: 80px;
float: left;
line-height: 78px;
line-height: 80px;
width: 24.8%;
text-align: center;
border-sizing: border-box;
... ... @@ -349,7 +366,7 @@
&.discount:after {
height: 28px;
content: '';
border-left: 1px solid #e1e1e1;
border-left: 1px solid #e0e0e0;
position: absolute;
top: 25px;
left: 163px;
... ... @@ -358,8 +375,8 @@
.active {
.cur {
color: #000;
}
color: #444;
}
}
.list-nav .icon .up {
... ... @@ -393,7 +410,7 @@
line-height: 88px;
font-size: 28px;
background: #fff;
border-top: 1px solid #eaeaea;
border-top: 1px solid #e0e0e0;
z-index: 2;
... ... @@ -410,7 +427,7 @@
height: 28px;
margin-top: 30px;
float: right;
border-right: 1px solid #eaeaea;
border-right: 1px solid #e0e0e0;
display: inline-block;
}
}
... ... @@ -418,24 +435,28 @@
.sub-group {
position: absolute;
background: #fff;
border: 1px solid #eaeaea;
border: 1px solid #e0e0e0;
border-radius: 12px;
bottom: 104px;
width: 40%;
margin-left: 5%;
dl {
width: 80%;
padding: 0 30px;
margin: 0 auto;
}
dd {
line-height: 80px;
text-align: center;
border-top: 1px solid #eaeaea;
border-top: 1px solid #e0e0e0;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
a {
color: #444;
}
}
dd:first-child {
... ... @@ -446,8 +467,8 @@
.sharp {
position: absolute;
width: 100%;
height: 14px;
background: resolve("product/sharp.png") no-repeat center center;
height: 10px;
background: resolve('product/sharp.png') no-repeat center center;
}
.foot-list-3 .sub-group {
... ... @@ -501,11 +522,11 @@
text-align: center;
width: 100%;
height: 100%;
color: #999;
color: #b0b0b0;
/*b {
height: 28px;
border-left: 1px solid #e1e1e1;
border-left: 1px solid #e0e0e0;
float: right;
margin-top: 25px;
}*/
... ... @@ -513,11 +534,11 @@
}
.active .cur {
color: #000;
color: #444;
}
.active a {
color: #000;
color: #444;
}
... ... @@ -551,7 +572,6 @@
.category-list-top-board {
border-top: 1px solid #e0e0e0;
min-height: 160px;
}
.category-list-last-li {
... ... @@ -564,6 +584,8 @@
}
.shop-index + .filter-mask {
margin-top: 1px;
.filter-body {
overflow: auto;
}
... ...
@charset "utf-8";
/* base */
@import "layout/reset";
@import "layout/common";
@import "layout/loading";
@import "layout/swiper";
@import "layout/header";
@import "layout/footer";
@import "layout/utils";
/* page */
@import "channel/index";
@import "common/index";
@import "product/index";
@import "home/hot-category";
... ...