Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
H
h5-base
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
new-sing
h5-base
Commits
1afef459
Commit
1afef459
authored
May 10, 2019
by
chenyishuai@singsingenglish.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
5.10
parent
ae8347c7
Changes
11
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
68 additions
and
25 deletions
+68
-25
index.js
config/index.js
+0
-1
index.html
dev/index.html
+1
-1
shareGoodsBg5.17b909f.png
dev/static/img/shareGoodsBg5.17b909f.png
+0
-0
shareGoodsBg5.fbb36f7.png
dev/static/img/shareGoodsBg5.fbb36f7.png
+0
-0
14.35ba17dc8ff245af5bea.js
dev/static/js/14.35ba17dc8ff245af5bea.js
+0
-0
8.2f575a6f552e980804e2.js
dev/static/js/8.2f575a6f552e980804e2.js
+0
-1
8.f8314b00097e36713a7b.js
dev/static/js/8.f8314b00097e36713a7b.js
+1
-0
manifest.0708b420a1b4854db17e.js
dev/static/js/manifest.0708b420a1b4854db17e.js
+1
-1
shareGoodsBg5.png
src/assets/newLesson/shareGoodsBg5.png
+0
-0
index.vue
src/components/buy/index.vue
+2
-0
shareGoods.vue
src/components/newLesson/shareGoods.vue
+63
-21
No files found.
config/index.js
View file @
1afef459
...
...
@@ -27,7 +27,6 @@ module.exports = {
notifyOnErrors
:
true
,
poll
:
false
,
// https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
/**
* Source Maps
*/
...
...
dev/index.html
View file @
1afef459
...
...
@@ -6,4 +6,4 @@
overflow
:
hidden
;
position
:
fixed
;
background
:
#f4f4f4
;
}
</style><link
href=
static/css/app.a33637a3392be2fde512aa6031b6e4df.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
src=
https://res.wx.qq.com/open/js/jweixin-1.3.2.js
></script><script
src=
static/vconsole/vconsole.min.js
></script><script>
// 初始化
</script><script
type=
text/javascript
src=
static/js/manifest.3d96642fa2da50e5b1d6.js
></script><script
type=
text/javascript
src=
static/js/vendor.971a89734ef51957abe6.js
></script><script
type=
text/javascript
src=
static/js/app.bc77edd41358c702873f.js
></script></body></html>
\ No newline at end of file
}
</style><link
href=
static/css/app.a33637a3392be2fde512aa6031b6e4df.css
rel=
stylesheet
></head><body><div
id=
app
></div><script
src=
https://res.wx.qq.com/open/js/jweixin-1.3.2.js
></script><script
src=
static/vconsole/vconsole.min.js
></script><script>
// 初始化
</script><script
type=
text/javascript
src=
static/js/manifest.0708b420a1b4854db17e.js
></script><script
type=
text/javascript
src=
static/js/vendor.971a89734ef51957abe6.js
></script><script
type=
text/javascript
src=
static/js/app.bc77edd41358c702873f.js
></script></body></html>
\ No newline at end of file
dev/static/img/shareGoodsBg5.17b909f.png
deleted
100644 → 0
View file @
ae8347c7
62.2 KB
dev/static/img/shareGoodsBg5.fbb36f7.png
0 → 100644
View file @
1afef459
43.1 KB
dev/static/js/14.
f7d44213260e558df515
.js
→
dev/static/js/14.
35ba17dc8ff245af5bea
.js
View file @
1afef459
File moved
dev/static/js/8.2f575a6f552e980804e2.js
deleted
100644 → 0
View file @
ae8347c7
This diff is collapsed.
Click to expand it.
dev/static/js/8.f8314b00097e36713a7b.js
0 → 100644
View file @
1afef459
This diff is collapsed.
Click to expand it.
dev/static/js/manifest.
3d96642fa2da50e5b1d6
.js
→
dev/static/js/manifest.
0708b420a1b4854db17e
.js
View file @
1afef459
!
function
(
e
){
var
a
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
c
,
t
,
d
){
for
(
var
o
,
f
,
b
,
i
=
0
,
u
=
[];
i
<
c
.
length
;
i
++
)
f
=
c
[
i
],
n
[
f
]
&&
u
.
push
(
n
[
f
][
0
]),
n
[
f
]
=
0
;
for
(
o
in
t
)
Object
.
prototype
.
hasOwnProperty
.
call
(
t
,
o
)
&&
(
e
[
o
]
=
t
[
o
]);
for
(
a
&&
a
(
c
,
t
,
d
);
u
.
length
;)
u
.
shift
()();
if
(
d
)
for
(
i
=
0
;
i
<
d
.
length
;
i
++
)
b
=
r
(
r
.
s
=
d
[
i
]);
return
b
};
var
c
=
{},
n
=
{
34
:
0
};
function
r
(
a
){
if
(
c
[
a
])
return
c
[
a
].
exports
;
var
n
=
c
[
a
]
=
{
i
:
a
,
l
:
!
1
,
exports
:{}};
return
e
[
a
].
call
(
n
.
exports
,
n
,
n
.
exports
,
r
),
n
.
l
=!
0
,
n
.
exports
}
r
.
e
=
function
(
e
){
var
a
=
n
[
e
];
if
(
0
===
a
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
a
)
return
a
[
2
];
var
c
=
new
Promise
(
function
(
c
,
r
){
a
=
n
[
e
]
=
[
c
,
r
]});
a
[
2
]
=
c
;
var
t
=
document
.
getElementsByTagName
(
"head"
)[
0
],
d
=
document
.
createElement
(
"script"
);
d
.
type
=
"text/javascript"
,
d
.
charset
=
"utf-8"
,
d
.
async
=!
0
,
d
.
timeout
=
12
e4
,
r
.
nc
&&
d
.
setAttribute
(
"nonce"
,
r
.
nc
),
d
.
src
=
r
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"aca104e21d74f40086d1"
,
1
:
"7ab75714c31827e0249b"
,
2
:
"337acc427fdbf9c65040"
,
3
:
"395ad735c1dddbaf83ed"
,
4
:
"684780c477a1a0a998d7"
,
5
:
"5eabe154dfef266b3a87"
,
6
:
"94716e8a79bb25659db8"
,
7
:
"229ee4e4001a85416ba1"
,
8
:
"2f575a6f552e980804e2"
,
9
:
"8fd30b5b294fc19f4266"
,
10
:
"a2e42c3a49c2aa14526b"
,
11
:
"539cef049364093bd6e1"
,
12
:
"8e264d614be2ace1d68b"
,
13
:
"3b76f5664037559abc01"
,
14
:
"f7d44213260e558df515"
,
15
:
"674b4c27730d9f2cf273"
,
16
:
"f7b863f1592818dcb219"
,
17
:
"a1edd7b1e9fb8cd6ede4"
,
18
:
"a17ffd34e3418030f0ad"
,
19
:
"6788ece3a8027eb36940"
,
20
:
"7e3e404954d3a7bfdb08"
,
21
:
"39d99ac940199668a959"
,
22
:
"3ad9c9136ccfcd599d82"
,
23
:
"abd000c2d42590325658"
,
24
:
"7d513d80b42dc2d2f825"
,
25
:
"f612962de659e104ba02"
,
26
:
"f688ad0a42f7f2456842"
,
27
:
"ca2bbdddc1013b1db64f"
,
28
:
"649d19a394c945241555"
,
29
:
"d1a603ec7004ae7a1c13"
,
30
:
"53eaac9001d51b255a57"
,
31
:
"cddf51a01bd712b1cc09"
}[
e
]
+
".js"
;
var
o
=
setTimeout
(
f
,
12
e4
);
function
f
(){
d
.
onerror
=
d
.
onload
=
null
,
clearTimeout
(
o
);
var
a
=
n
[
e
];
0
!==
a
&&
(
a
&&
a
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
n
[
e
]
=
void
0
)}
return
d
.
onerror
=
d
.
onload
=
f
,
t
.
appendChild
(
d
),
c
},
r
.
m
=
e
,
r
.
c
=
c
,
r
.
d
=
function
(
e
,
a
,
c
){
r
.
o
(
e
,
a
)
||
Object
.
defineProperty
(
e
,
a
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
c
})},
r
.
n
=
function
(
e
){
var
a
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
r
.
d
(
a
,
"a"
,
a
),
a
},
r
.
o
=
function
(
e
,
a
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
a
)},
r
.
p
=
""
,
r
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
!
function
(
e
){
var
a
=
window
.
webpackJsonp
;
window
.
webpackJsonp
=
function
(
c
,
t
,
d
){
for
(
var
o
,
f
,
b
,
i
=
0
,
u
=
[];
i
<
c
.
length
;
i
++
)
f
=
c
[
i
],
n
[
f
]
&&
u
.
push
(
n
[
f
][
0
]),
n
[
f
]
=
0
;
for
(
o
in
t
)
Object
.
prototype
.
hasOwnProperty
.
call
(
t
,
o
)
&&
(
e
[
o
]
=
t
[
o
]);
for
(
a
&&
a
(
c
,
t
,
d
);
u
.
length
;)
u
.
shift
()();
if
(
d
)
for
(
i
=
0
;
i
<
d
.
length
;
i
++
)
b
=
r
(
r
.
s
=
d
[
i
]);
return
b
};
var
c
=
{},
n
=
{
34
:
0
};
function
r
(
a
){
if
(
c
[
a
])
return
c
[
a
].
exports
;
var
n
=
c
[
a
]
=
{
i
:
a
,
l
:
!
1
,
exports
:{}};
return
e
[
a
].
call
(
n
.
exports
,
n
,
n
.
exports
,
r
),
n
.
l
=!
0
,
n
.
exports
}
r
.
e
=
function
(
e
){
var
a
=
n
[
e
];
if
(
0
===
a
)
return
new
Promise
(
function
(
e
){
e
()});
if
(
a
)
return
a
[
2
];
var
c
=
new
Promise
(
function
(
c
,
r
){
a
=
n
[
e
]
=
[
c
,
r
]});
a
[
2
]
=
c
;
var
t
=
document
.
getElementsByTagName
(
"head"
)[
0
],
d
=
document
.
createElement
(
"script"
);
d
.
type
=
"text/javascript"
,
d
.
charset
=
"utf-8"
,
d
.
async
=!
0
,
d
.
timeout
=
12
e4
,
r
.
nc
&&
d
.
setAttribute
(
"nonce"
,
r
.
nc
),
d
.
src
=
r
.
p
+
"static/js/"
+
e
+
"."
+
{
0
:
"aca104e21d74f40086d1"
,
1
:
"7ab75714c31827e0249b"
,
2
:
"337acc427fdbf9c65040"
,
3
:
"395ad735c1dddbaf83ed"
,
4
:
"684780c477a1a0a998d7"
,
5
:
"5eabe154dfef266b3a87"
,
6
:
"94716e8a79bb25659db8"
,
7
:
"229ee4e4001a85416ba1"
,
8
:
"f8314b00097e36713a7b"
,
9
:
"8fd30b5b294fc19f4266"
,
10
:
"a2e42c3a49c2aa14526b"
,
11
:
"539cef049364093bd6e1"
,
12
:
"8e264d614be2ace1d68b"
,
13
:
"3b76f5664037559abc01"
,
14
:
"35ba17dc8ff245af5bea"
,
15
:
"674b4c27730d9f2cf273"
,
16
:
"f7b863f1592818dcb219"
,
17
:
"a1edd7b1e9fb8cd6ede4"
,
18
:
"a17ffd34e3418030f0ad"
,
19
:
"6788ece3a8027eb36940"
,
20
:
"7e3e404954d3a7bfdb08"
,
21
:
"39d99ac940199668a959"
,
22
:
"3ad9c9136ccfcd599d82"
,
23
:
"abd000c2d42590325658"
,
24
:
"7d513d80b42dc2d2f825"
,
25
:
"f612962de659e104ba02"
,
26
:
"f688ad0a42f7f2456842"
,
27
:
"ca2bbdddc1013b1db64f"
,
28
:
"649d19a394c945241555"
,
29
:
"d1a603ec7004ae7a1c13"
,
30
:
"53eaac9001d51b255a57"
,
31
:
"cddf51a01bd712b1cc09"
}[
e
]
+
".js"
;
var
o
=
setTimeout
(
f
,
12
e4
);
function
f
(){
d
.
onerror
=
d
.
onload
=
null
,
clearTimeout
(
o
);
var
a
=
n
[
e
];
0
!==
a
&&
(
a
&&
a
[
1
](
new
Error
(
"Loading chunk "
+
e
+
" failed."
)),
n
[
e
]
=
void
0
)}
return
d
.
onerror
=
d
.
onload
=
f
,
t
.
appendChild
(
d
),
c
},
r
.
m
=
e
,
r
.
c
=
c
,
r
.
d
=
function
(
e
,
a
,
c
){
r
.
o
(
e
,
a
)
||
Object
.
defineProperty
(
e
,
a
,{
configurable
:
!
1
,
enumerable
:
!
0
,
get
:
c
})},
r
.
n
=
function
(
e
){
var
a
=
e
&&
e
.
__esModule
?
function
(){
return
e
.
default
}:
function
(){
return
e
};
return
r
.
d
(
a
,
"a"
,
a
),
a
},
r
.
o
=
function
(
e
,
a
){
return
Object
.
prototype
.
hasOwnProperty
.
call
(
e
,
a
)},
r
.
p
=
""
,
r
.
oe
=
function
(
e
){
throw
console
.
error
(
e
),
e
}}([]);
\ No newline at end of file
src/assets/newLesson/shareGoodsBg5.png
View replaced file @
ae8347c7
View file @
1afef459
62.2 KB
|
W:
|
H:
43.1 KB
|
W:
|
H:
2-up
Swipe
Onion skin
src/components/buy/index.vue
View file @
1afef459
...
...
@@ -206,6 +206,7 @@
query
.
type
=
'single'
;
this
.
buyType
=
'single'
;
}
else
if
(
this
.
buyType
===
0
&&
this
.
groupId
){
// 已购买生成团
this
.
$router
.
push
({
name
:
'buyDetail'
,
query
:{
...
...
@@ -230,6 +231,7 @@
name
:
'buy'
,
query
:
query
});
this
.
$nextTick
(()
=>
{
this
.
payFlag
=
true
;
});
...
...
src/components/newLesson/shareGoods.vue
View file @
1afef459
...
...
@@ -4,7 +4,7 @@
<div
class=
"share-good-head"
v-if=
"userDetail"
>
<img
:src=
"shareGoodsBg"
alt=
""
>
<img
class=
"head"
:src=
"userDetail.user_info.avatar"
>
<div
class=
"tip2"
>
我家宝宝在「唱唱启蒙英语」坚持打卡
</div>
<div
class=
"tip2"
>
<p
v-if=
"nickname"
>
{{
nickname
}}
家宝宝
</p><p>
在「唱唱启蒙英语」坚持打卡
</p>
</div>
<!--
<div
class=
"title"
:style=
"
{backgroundImage:`url('${title_share_goods}')`}" >
{{
userDetail
.
user_info
.
nickname
}}
</div>
-->
...
...
@@ -15,17 +15,21 @@
</p>
</div>
<div
class=
"textBox"
>
<p
>
{{
goodsDetail
.
goods_desc
.
course_title
}}
</p>
<p
>
原价
<span
style=
"text-decoration:line-through;"
>
{{
goodsDetail
.
original_price
/
100
}}
元
</span>
限时
{{
goodsDetail
.
current_price
/
100
}}
元
</p>
<p
class=
"top"
>
继续坚持
</p>
<p
class=
"btn"
>
学无涯 行必知
</p>
</div>
<div
class=
"iknow"
v-if=
"goodsDetail.current_price!=0"
@
click=
"toBuy(1)"
>
<
!--
<
div
class=
"iknow"
v-if=
"goodsDetail.current_price!=0"
@
click=
"toBuy(1)"
>
<img
:src=
"btncoin"
alt=
""
>
</div>
<div
class=
"iknow"
v-if=
"goodsDetail.current_price==0"
@
click=
"toBuy(3)"
>
<img
:src=
"btnfree"
alt=
""
>
</div>
-->
<div
class=
"Fml"
><span>
100+
</span>
万家庭推荐的哈佛英语启蒙课
</div>
<div
class=
"goodstitle"
>
{{
goodsDetail
.
goods_desc
.
course_title
}}
</div>
</div>
<div
class=
"good-content"
v-if=
"goodsDetail"
>
<div
class=
"good-content"
v-if=
"goodsDetail
&&goodsDetail.goods_type==1
"
>
<div
class=
"content"
v-html=
"goodsDetail.desc.detail"
>
</div>
<div
class=
"btn-block"
ref=
"btn_block"
>
...
...
@@ -37,6 +41,23 @@
</div>
</div>
</div>
<div
class=
"good-content"
v-if=
"goodsDetail&&goodsDetail.goods_type==2"
>
<div
class=
"content"
v-html=
"goodsDetail.desc.detail"
>
</div>
<div
class=
"btn-block"
ref=
"btn_block"
>
<div
class=
"lastTime"
>
优惠倒计时
{{
lastTime
.
day
}}
天
{{
lastTime
.
hour
}}
时
{{
lastTime
.
min
}}
分
{{
lastTime
.
second
}}
秒
</div>
<div
class=
"btnBox"
>
<div
class=
"btn slg"
@
click=
"toBuy(1)"
>
单独购¥
{{
goodsDetail
.
original_price
/
100
}}
</div>
<div
class=
"btn grp"
@
click=
"toBuy(3)"
>
{{
goodsDetail
.
desc
.
group_number
}}
人团
¥
{{
goodsDetail
.
current_price
/
100
}}
</div>
</div>
</div>
</div>
</div>
<login-page
v-if=
"goodsDetail"
:bind-mobile=
"bindMobile"
:groupDetail=
"goodsDetail"
@
goToBuyPage=
"goToBuyPage"
></login-page>
</div>
...
...
@@ -67,7 +88,8 @@
btnfree
:
btnfree
,
shopId
:
null
,
goodsDetail
:
null
,
lastTime
:
localStorage
.
getItem
(
'lastTimeShare'
)?
JSON
.
parse
(
localStorage
.
getItem
(
'lastTimeShare'
)):{
day
:
0
,
hour
:
8
,
min
:
0
,
second
:
0
}
lastTime
:
localStorage
.
getItem
(
'lastTimeShare'
)?
JSON
.
parse
(
localStorage
.
getItem
(
'lastTimeShare'
)):{
day
:
0
,
hour
:
8
,
min
:
0
,
second
:
0
},
nickname
:
""
}
},
methods
:{
...
...
@@ -93,6 +115,8 @@
this
.
$sa
.
track
(
'ViewInvitation'
,{
salesID
:
this
.
$route
.
query
.
userID
,
});
console
.
log
(
JSON
.
parse
(
localStorage
.
getItem
(
'userDesc'
)))
this
.
nickname
=
JSON
.
parse
(
localStorage
.
getItem
(
'userDesc'
)).
nickname
getOtherUserWatchApi
(
this
.
$route
.
query
.
userID
).
then
(
res
=>
{
res
.
user_info
.
avatar
=
res
.
user_info
.
avatar
.
replace
(
'http://'
,
'https://'
);
this
.
userDetail
=
res
...
...
@@ -103,6 +127,7 @@
res
.
desc
=
JSON
.
parse
(
res
.
desc
)
res
.
goods_desc
=
JSON
.
parse
(
res
.
goods_desc
);
this
.
goodsDetail
=
res
console
.
log
(
res
)
// debugger
// getGoodsDetailApi(this.shopId).then(res=>{
// res.desc = JSON.parse(res.desc)
...
...
@@ -111,8 +136,12 @@
// })
})
},
goToBuyPage
(){
goToBuyPage
(
type
){
if
(
type
==
1
){
window
.
location
.
href
=
`
${
process
.
env
.
API_URL
}
#/buy?shopId=
${
this
.
shopId
}
&type=single&invite_code=CC-UDK-
${
this
.
$route
.
query
.
userID
}
`
}
else
{
window
.
location
.
href
=
`
${
process
.
env
.
API_URL
}
#/buy?shopId=
${
this
.
shopId
}
&invite_code=CC-UDK-
${
this
.
$route
.
query
.
userID
}
`
}
},
toBuy
(
type
){
if
(
type
==
1
){
...
...
@@ -120,14 +149,14 @@
tabTitle
:
'打卡商品页'
,
moduleTitle
:
'功能按钮'
,
buttonType
:
'购买'
,
buttonName
:
'
我也要参加
'
buttonName
:
'
单独购
'
});
}
if
(
type
==
3
){
this
.
$sa
.
track
(
'buttonClick'
,{
tabTitle
:
'打卡商品页'
,
moduleTitle
:
'功能按钮'
,
buttonType
:
'购买'
,
buttonName
:
'
限时免费领
'
buttonName
:
'
团购
'
});
}
else
{
this
.
$sa
.
track
(
'buttonClick'
,{
...
...
@@ -143,7 +172,7 @@
this
.
$sa
.
track
(
'ViewRegisterpage'
,{});
},
1000
)
}
else
{
this
.
goToBuyPage
();
this
.
goToBuyPage
(
type
);
}
}
},
...
...
@@ -153,13 +182,14 @@
this
.
$refs
.
share_page
.
addEventListener
(
'scroll'
,()
=>
{
//变量t是滚动条滚动时,距离顶部的距离
let
t
=
this
.
$refs
.
share_page
.
scrollTop
;
if
(
this
.
$refs
.
btn_block
){
if
(
t
>
500
){
this
.
$refs
.
btn_block
.
style
.
opacity
=
1
}
else
{
this
.
$refs
.
btn_block
.
style
.
opacity
=
0
}
}
// if( this.$refs.btn_block){
// this.$refs.btn_block.style.opacity = 1
// if(t>500){
// this.$refs.btn_block.style.opacity = 1
// }else{
// this.$refs.btn_block.style.opacity = 0
// }
// }
})
}
}
...
...
@@ -184,7 +214,10 @@
// margin-top: -64*@toVw;
// background-size: 100% 100%;
position: relative;
.textBox{position: absolute;top: 355*@toVw;left:120*@toVw ;text-align: center;color: #B75B3A; font-size: 14*@toVw;}
.textBox{position: absolute;top: 305*@toVw;left:142*@toVw ;text-align: center;color: #B75B3A; font-size: 15*@toVw;
.top{ font-size: 17*@toVw;}
.btn{ font-size: 15*@toVw;}
}
.iknow{
position: absolute;
top: 415*@toVw;
...
...
@@ -223,7 +256,7 @@
}
.day{
position: absolute;
top: 1
74
*@toVw;
top: 1
88
*@toVw;
width: 100%;
text-align: center;
color: white;
...
...
@@ -238,6 +271,10 @@
color:white;
}
}
.Fml{position: absolute;top:392*@toVw;left: 78*@toVw;font-size: 15*@toVw;color: #55343A;
span{color: #E17640;}
}
.goodstitle{position: absolute;top:462*@toVw;left: 138*@toVw;color: white;}
}
.good-content{
background: #F4CAA2;
...
...
@@ -257,7 +294,7 @@
left: 0;
width: 100%;
background: white;
opacity:
0
;
opacity:
1
;
transition: all 0.5s;
bottom: 0;
.lastTime{
...
...
@@ -271,6 +308,11 @@
left: 0;
width: 100%;
}
.btnBox{
display: flex;
padding:0 29*@toVw;
.slg{background: white;color: black;border: 1px solid black;box-sizing: border-box;margin-right: 10*@toVw;}
}
.btn{
width: 287*@toVw;
height: 44*@toVw;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment