Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
joshine
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
joshine
Commits
c0c6305b
Commit
c0c6305b
authored
Mar 30, 2023
by
dhn
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'developer' of
http://47.99.244.21:9999/root/joshine
into Branch_developer
parents
3db273ad
4f3ff447
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
457 additions
and
384 deletions
+457
-384
app/code/Joshine/GoogleFeed/Console/Command/GoogleFeed.php
+58
-3
app/code/Joshine/Review/view/frontend/templates/product/view/list.phtml
+0
-377
app/code/Joshine/Review/view/frontend/web/css/_review.css
+271
-4
app/design/frontend/Joshine/breeze/web/css/_custom.less
+1
-0
app/design/frontend/Joshine/breeze/web/css/_joshine_utils.less
+127
-0
No files found.
app/code/Joshine/GoogleFeed/Console/Command/GoogleFeed.php
View file @
c0c6305b
...
...
@@ -3,6 +3,7 @@
namespace
Joshine\GoogleFeed\Console\Command
;
use
Magento\Framework\App\State
;
use
Magento\Setup\Exception
;
use
Magento\Store\Model\Store
;
use
Symfony\Component\Console\Command\Command
;
use
Symfony\Component\Console\Input\InputInterface
;
...
...
@@ -104,7 +105,26 @@ class GoogleFeed extends Command
'IVY'
=>
'Ivory'
,
'LCN'
=>
'Light Cyan'
,
'LIN'
=>
'Linen'
,
'IDG'
=>
'Indigo'
'IDG'
=>
'Indigo'
,
'BLK'
=>
'Black'
,
'BLU'
=>
'Blue'
,
'LBU'
=>
'Light Blue'
,
'SKY'
=>
'Skyblue'
,
'GRN'
=>
'Green'
,
'RBN'
=>
'Rosybrown'
,
'MCL'
=>
'Multicolor'
,
'PUR'
=>
'Purple'
,
'DRD'
=>
'Dark Red'
,
'OLV'
=>
'Olive'
,
'COF'
=>
'Coffee'
,
'TAN'
=>
'Tan'
,
'BGE'
=>
'Beige'
,
'WHI'
=>
'White'
,
'GRY'
=>
'Grey'
,
'VLT'
=>
'Violet'
,
'PNK'
=>
'Pink'
,
'BRN'
=>
'Brown'
,
'GLD'
=>
'Gold'
];
private
$pattern
=
[
...
...
@@ -214,6 +234,11 @@ class GoogleFeed extends Command
$productRows
[
'header'
]
=
$this
->
generateRow
(
$this
->
columns
);
foreach
(
$products
as
$key
=>
$product
)
{
//去除没有主产品的子产品
$configProductIds
=
$this
->
configurable
->
getParentIdsByChild
(
$product
->
getId
());
if
(
empty
(
$configProductIds
)){
continue
;
}
$_product
=
$this
->
productRepository
->
getById
(
$product
->
getId
());
$data
=
$this
->
generateProductData
(
$_product
,
$categoryGoogleProductCategory
);
if
(
count
(
$data
)
>
0
)
{
...
...
@@ -265,7 +290,14 @@ class GoogleFeed extends Command
$data
[
'id'
]
=
$product
->
getSku
();
$data
[
'title'
]
=
$this
->
getStoreName
()
.
' '
.
str_replace
(
'"'
,
'\''
,
$product
->
getName
());
$data
[
'description'
]
=
strip_tags
(
str_replace
(
'"'
,
'\''
,
$product
->
getDescription
()));
//获取主产品描述信息
if
(
empty
(
$data
[
'description'
])){
var_dump
(
$product
->
getSku
());
$desc
=
$this
->
getConfigProductDescription
(
$product
);
if
(
!
empty
(
$desc
)){
$data
[
'description'
]
=
strip_tags
(
str_replace
(
'"'
,
'\''
,
$desc
));
}
}
foreach
(
$product
->
getCategoryIds
()
as
$k
=>
$v
){
if
(
isset
(
$categoryGoogleProductCategory
[
$v
])){
...
...
@@ -323,7 +355,7 @@ class GoogleFeed extends Command
$data
[
'size'
]
=
$sizeText
;
$data
[
'item group id'
]
=
$mpu
;
$data
[
'material'
]
=
''
;
$data
[
'shipping(country:price)'
]
=
':'
.
$this
->
scopeConfigInterface
->
getValue
(
'carriers/flatrate/price'
)
.
' USD'
;
$data
[
'shipping(country:price)'
]
=
'
US
:'
.
$this
->
scopeConfigInterface
->
getValue
(
'carriers/flatrate/price'
)
.
' USD'
;
$data
[
'shipping weight'
]
=
$product
->
getWeight
();
$data
[
'custom label 0'
]
=
''
;
$data
[
'custom label 1'
]
=
''
;
...
...
@@ -356,6 +388,29 @@ class GoogleFeed extends Command
return
$name
;
}
public
function
getConfigProductDescription
(
$product
){
$configProductIds
=
$this
->
configurable
->
getParentIdsByChild
(
$product
->
getId
());
if
(
!
$configProductIds
){
return
""
;
}
if
(
is_array
(
$configProductIds
)
&&
!
empty
(
$configProductIds
)){
$configProductId
=
$configProductIds
[
0
];
}
if
(
is_int
(
$configProductIds
)){
$configProductId
=
$configProductIds
;
}
$configurablProduct
=
$this
->
productRepository
->
getById
(
$configProductId
,
false
,
$product
->
getStoreId
());
try
{
$desc
=
$configurablProduct
->
getCustomAttribute
(
"description"
);
}
catch
(
Exception
$e
){
$desc
=
false
;
}
if
(
$desc
){
return
$desc
->
getValue
();
}
return
""
;
}
public
function
getConfigProductUrl
(
$product
){
$configProductIds
=
$this
->
configurable
->
getParentIdsByChild
(
$product
->
getId
());
if
(
!
$configProductIds
){
...
...
app/code/Joshine/Review/view/frontend/templates/product/view/list.phtml
View file @
c0c6305b
...
...
@@ -25,33 +25,6 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
?>
<style>
.joshine-review-container-mobile
.joshine-review
.ave-rate
{
display
:
flex
;
align-items
:
center
;
}
.joshine-review-container-mobile
.joshine-review
.fit-item
{
display
:
flex
;
align-items
:
center
;
}
.joshine-review-container-mobile
.joshine-review
.fit-name
{
width
:
30%
;
}
.joshine-review-container-mobile
.joshine-review
.joshine-process
{
width
:
60%
;
}
.joshine-review-container-mobile
.joshine-review
.joshine-review-averate
{
padding
:
.5em
;
}
.joshine-review-container-mobile
.joshine-review
.add-new-box
{
margin
:
.5em
0
.5em
0
;
}
</style>
<div
class=
"block review-list joshine-clearfix"
id=
"customer-reviews"
>
<div
class=
"joshine-review-container joshine-clearfix joshine-hidden-md joshine-hidden-sm joshine-hidden-xs"
>
...
...
@@ -254,356 +227,6 @@ $imagesBlock = $helper->getReviewImagesBlock(15, $block->getProductId());
</div>
</div>
</div>
<style>
.joshine-model-warp
{
z-index
:
1000
;
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
}
.joshine-model-warp
.joshine-mask
{
z-index
:
1000
;
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
background
:
rgba
(
0
,
0
,
0
,
.8
);
}
.joshine-model-warp
.j-modal
{
overflow
:
hidden
;
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
z-index
:
2000
;
-webkit-overflow-scrolling
:
touch
;
outline
:
0
;
}
.j-modal
.j-modal-dialog
{
position
:
relative
;
width
:
530px
;
margin
:
7rem
auto
;
}
.j-modal
.j-modal-content
{
position
:
relative
;
padding
:
40px
50px
30px
;
background
:
#fff
;
background-clip
:
padding-box
;
background-position
:
center
;
background-size
:
100%
100%
;
background-repeat
:
no-repeat
;
}
.j-modal
.j-modal-header
{
text-align
:
center
;
max-height
:
60em
;
overflow-y
:
auto
;
}
.joshine-model-warp
.j-modal
.j-modal-dialog
{
width
:
1050px
;
}
.joshine-close
{
position
:
absolute
;
top
:
8px
;
right
:
8px
;
width
:
24px
;
height
:
24px
;
line-height
:
24px
;
font-size
:
14px
;
cursor
:
pointer
;
}
.j-modal
.j-modal-body
{
position
:
relative
;
line-height
:
1.2
;
}
.joshine-review-des-head
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
flex-wrap
:
wrap
;
}
.modal-reviews-details__des-wrap
{
margin-left
:
24px
;
}
.modal-reviews-details__des-wrap
div
{
margin-bottom
:
24px
;
}
.modal-reviews-details__image-wrap
.modal-reviews-details__image-swiper
{
padding
:
10px
;
height
:
600px
;
}
.modal-reviews-details__image-thumbs
{
margin-top
:
14px
;
overflow
:
hidden
;
}
.image-thumbs-list
{
position
:
relative
;
width
:
100%
;
height
:
100%
;
z-index
:
1
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-transition-property
:
-webkit-transform
;
transition-property
:
-webkit-transform
;
transition-property
:
transform
;
transition-property
:
transform
,
-webkit-transform
;
-webkit-box-sizing
:
content-box
;
box-sizing
:
content-box
;
}
.swiper-item
{
position
:
relative
;
margin-right
:
2px
;
}
.swiper-item
img
{
left
:
50%
;
-webkit-transform
:
translate3d
(
-50%
,
-50%
,
0
);
transform
:
translate3d
(
-50%
,
-50%
,
0
);
display
:
block
;
position
:
absolute
;
top
:
50%
;
max-width
:
100%
;
max-height
:
100%
;
}
.image-thumbs-list-item
{
margin-right
:
4px
;
height
:
50px
;
width
:
45px
;
overflow
:
hidden
;
-webkit-flex-shrink
:
0
;
-ms-flex
:
0
0
auto
;
flex-shrink
:
0
;
position
:
relative
;
cursor
:
pointer
;
}
.image-thumbs-list-item.active
{
border
:
1px
solid
#000
;
}
.image-thumbs-list-item
.modal-reviews-details__image-thumbs-image
img
{
width
:
100%
;
display
:
block
;
position
:
absolute
;
top
:
50%
;
left
:
50%
;
-webkit-transform
:
translate3d
(
-50%
,
-50%
,
0
);
transform
:
translate3d
(
-50%
,
-50%
,
0
);
}
.swiper-wrapper
{
display
:
flex
;
position
:
relative
;
width
:
100%
;
height
:
100%
;
z-index
:
1
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-transition-property
:
-webkit-transform
;
transition-property
:
-webkit-transform
;
-webkit-box-sizing
:
content-box
;
box-sizing
:
content-box
;
transform
:
translate3d
(
0
,
0
,
0
);
}
.swiper-wrapper
.swiper-item
{
-webkit-flex-shrink
:
0
;
-ms-flex
:
0
0
auto
;
flex-shrink
:
0
;
width
:
100%
;
height
:
100%
;
position
:
relative
;
}
.swiper-container
{
margin-left
:
auto
;
margin-right
:
auto
;
position
:
relative
;
overflow
:
hidden
;
z-index
:
1
;
height
:
100%
;
width
:
100%
;
}
.modal-reviews-details__image-swiper
.swiper-button-prev
{
height
:
100%
;
width
:
50%
;
position
:
absolute
;
top
:
0
;
margin-top
:
0
;
left
:
0
;
right
:
auto
;
z-index
:
12
;
cursor
:
url(static/frontend/Joshine/breeze/en_US/Joshine_Review/img/favicon-pre.ico)
,
auto
;
}
.modal-reviews-details__image-swiper
.swiper-button-next
{
height
:
100%
;
width
:
50%
;
position
:
absolute
;
top
:
0
;
margin-top
:
0
;
right
:
0
;
left
:
auto
;
z-index
:
12
;
cursor
:
url(static/frontend/Joshine/breeze/en_US/Joshine_Review/img/favicon-next.ico)
,
auto
;
}
.modal-reviews-details__image-thumbs-image
{
position
:
relative
;
height
:
100%
;
overflow
:
hidden
;
border
:
1px
solid
#efefef
;
}
.joshine-mobile-image-box
{
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
height
:
100%
;
z-index
:
1000
;
background
:
rgba
(
0
,
0
,
0
);
}
.joshine-mobile-image-box
.scroll-wrapper
{
transition-duration
:
0ms
;
transform
:
translate3d
(
0px
,
0px
,
0px
);
position
:
relative
;
width
:
100%
;
height
:
100%
;
z-index
:
1
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-transition-property
:
-webkit-transform
;
transition-property
:
transform
,
-webkit-transform
;
-webkit-box-sizing
:
content-box
;
box-sizing
:
content-box
;
}
.joshine-mobile-image-box
.scroll-wrapper
.scroll-wrapper-item
{
flex-shrink
:
0
;
width
:
100%
;
height
:
100%
;
position
:
relative
;
-webkit-transition-property
:
-webkit-transform
;
transition-property
:
-webkit-transform
;
transition-property
:
transform
;
transition-property
:
transform
,
-webkit-transform
;
display
:
-webkit-box
;
display
:
flex
;
display
:
-ms-flexbox
;
-webkit-box-align
:
center
;
align-items
:
center
;
-webkit-box-pack
:
center
;
justify-content
:
center
;
}
.joshine-mobile-image-box
.scroll-wrapper-item
img
{
width
:
100%
;
max-height
:
100%
;
}
.joshine-mobile-image-box-bottom
{
padding
:
.7em
;
position
:
absolute
;
height
:
9rem
;
left
:
0
;
color
:
#fff
;
bottom
:
0
;
width
:
100%
;
overflow
:
hidden
;
z-index
:
1
;
font-size
:
1rem
;
line-height
:
1.2rem
;
background
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#0000003
b
),
to
(
rgba
(
0
,
0
,
0
,
.1
)));
background
:
linear-gradient
(
180deg
,
#0000003
b
,
rgb
(
0
0
.1
));
}
.joshine-mobile-image-wrapper
{
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
display
:
-webkit-box
;
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
;
-webkit-align-items
:
center
;
-webkit-box-align
:
center
;
-ms-flex-align
:
center
;
align-items
:
center
;
-webkit-box-pack
:
center
;
-webkit-justify-content
:
center
;
-ms-flex-pack
:
center
;
justify-content
:
center
;
}
.joshine-mobile-image-box-container
{
margin-left
:
auto
;
margin-right
:
auto
;
position
:
relative
;
overflow
:
hidden
;
list-style
:
none
;
padding
:
0
;
z-index
:
1
;
height
:
100%
;
}
.joshine-mobile-image-box-content
{
color
:
#fff
;
height
:
100%
;
overflow
:
auto
;
margin-bottom
:
0.32rem
;
}
.image-box-content-title
{
margin-bottom
:
.3rem
;
line-height
:
.8rem
;
color
:
hsla
(
0
,
0%
,
100%
,
.8
);
}
.joshine-mobile-image-box
.close
{
color
:
white
;
position
:
absolute
;
right
:
1rem
;
top
:
1rem
;
color
:
#000
;
-webkit-text-stroke
:
0.02rem
#fff
;
font-weight
:
400
;
}
.joshine-mobile-image-box
.close
svg
{
width
:
2.5rem
;
height
:
2.5rem
;
}
.joshine-review-pic-item
{
cursor
:
pointer
;
}
.review-box-size
{
font-size
:
.7rem
;
}
.review-box-content
{
font-size
:
.9rem
;
}
.review-box-title
{
font-size
:
.8rem
;
}
</style>
<div
class=
"joshine-model-warp joshine-hidden"
>
<div
class=
"joshine-mask"
></div>
...
...
app/code/Joshine/Review/view/frontend/web/css/_review.css
View file @
c0c6305b
...
...
@@ -239,11 +239,277 @@
border-radius
:
4px
;
}
.joshine-review-container-mobile
.joshine-review
.ave-rate
{
display
:
flex
;
align-items
:
center
;
}
.modal-reviews-details__image-swiper
.swiper-button-next
{
cursor
:
url(static/frontend/Joshine/breeze/en_US/Joshine_Review/img/favicon-next.ico)
,
auto
;
.joshine-review-container-mobile
.joshine-review
.fit-item
{
display
:
flex
;
align-items
:
center
;
}
.joshine-review-container-mobile
.joshine-review
.fit-name
{
width
:
30%
;
}
.joshine-review-container-mobile
.joshine-review
.joshine-process
{
width
:
60%
;
}
.joshine-review-container-mobile
.joshine-review
.joshine-review-averate
{
padding
:
.5em
;
}
.joshine-review-container-mobile
.joshine-review
.add-new-box
{
margin
:
.5em
0
.5em
0
;
}
.joshine-review-des-head
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
flex-wrap
:
wrap
;
}
.modal-reviews-details__des-wrap
{
margin-left
:
24px
;
}
.modal-reviews-details__des-wrap
div
{
margin-bottom
:
24px
;
}
.modal-reviews-details__image-wrap
.modal-reviews-details__image-swiper
{
padding
:
10px
;
height
:
600px
;
}
.modal-reviews-details__image-thumbs
{
margin-top
:
14px
;
overflow
:
hidden
;
}
.image-thumbs-list
{
position
:
relative
;
width
:
100%
;
height
:
100%
;
z-index
:
1
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-transition-property
:
-webkit-transform
;
transition-property
:
-webkit-transform
;
transition-property
:
transform
;
transition-property
:
transform
,
-webkit-transform
;
-webkit-box-sizing
:
content-box
;
box-sizing
:
content-box
;
}
.swiper-item
{
position
:
relative
;
margin-right
:
2px
;
}
.swiper-item
img
{
left
:
50%
;
-webkit-transform
:
translate3d
(
-50%
,
-50%
,
0
);
transform
:
translate3d
(
-50%
,
-50%
,
0
);
display
:
block
;
position
:
absolute
;
top
:
50%
;
max-width
:
100%
;
max-height
:
100%
;
}
.image-thumbs-list-item
{
margin-right
:
4px
;
height
:
50px
;
width
:
45px
;
overflow
:
hidden
;
-webkit-flex-shrink
:
0
;
-ms-flex
:
0
0
auto
;
flex-shrink
:
0
;
position
:
relative
;
cursor
:
pointer
;
}
.image-thumbs-list-item.active
{
border
:
1px
solid
#000
;
}
.image-thumbs-list-item
.modal-reviews-details__image-thumbs-image
img
{
width
:
100%
;
display
:
block
;
position
:
absolute
;
top
:
50%
;
left
:
50%
;
-webkit-transform
:
translate3d
(
-50%
,
-50%
,
0
);
transform
:
translate3d
(
-50%
,
-50%
,
0
);
}
.swiper-wrapper
{
display
:
flex
;
position
:
relative
;
width
:
100%
;
height
:
100%
;
z-index
:
1
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-transition-property
:
-webkit-transform
;
transition-property
:
-webkit-transform
;
-webkit-box-sizing
:
content-box
;
box-sizing
:
content-box
;
transform
:
translate3d
(
0
,
0
,
0
);
}
.swiper-wrapper
.swiper-item
{
-webkit-flex-shrink
:
0
;
-ms-flex
:
0
0
auto
;
flex-shrink
:
0
;
width
:
100%
;
height
:
100%
;
position
:
relative
;
}
.swiper-container
{
margin-left
:
auto
;
margin-right
:
auto
;
position
:
relative
;
overflow
:
hidden
;
z-index
:
1
;
height
:
100%
;
width
:
100%
;
}
.modal-reviews-details__image-swiper
.swiper-button-prev
{
cursor
:
url(static/frontend/Joshine/breeze/en_US/Joshine_Review/img/favicon-pre.ico)
,
auto
;
.modal-reviews-details__image-thumbs-image
{
position
:
relative
;
height
:
100%
;
overflow
:
hidden
;
border
:
1px
solid
#efefef
;
}
.joshine-mobile-image-box
{
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
height
:
100%
;
z-index
:
1000
;
background
:
rgba
(
0
,
0
,
0
);
}
.joshine-mobile-image-box
.scroll-wrapper
{
transition-duration
:
0ms
;
transform
:
translate3d
(
0px
,
0px
,
0px
);
position
:
relative
;
width
:
100%
;
height
:
100%
;
z-index
:
1
;
display
:
-webkit-box
;
display
:
flex
;
-webkit-transition-property
:
-webkit-transform
;
transition-property
:
transform
,
-webkit-transform
;
-webkit-box-sizing
:
content-box
;
box-sizing
:
content-box
;
}
.joshine-mobile-image-box
.scroll-wrapper
.scroll-wrapper-item
{
flex-shrink
:
0
;
width
:
100%
;
height
:
100%
;
position
:
relative
;
-webkit-transition-property
:
-webkit-transform
;
transition-property
:
-webkit-transform
;
transition-property
:
transform
;
transition-property
:
transform
,
-webkit-transform
;
display
:
-webkit-box
;
display
:
flex
;
display
:
-ms-flexbox
;
-webkit-box-align
:
center
;
align-items
:
center
;
-webkit-box-pack
:
center
;
justify-content
:
center
;
}
.joshine-mobile-image-box
.scroll-wrapper-item
img
{
width
:
100%
;
max-height
:
100%
;
}
.joshine-mobile-image-box-bottom
{
padding
:
.7em
;
position
:
absolute
;
height
:
9rem
;
left
:
0
;
color
:
#fff
;
bottom
:
0
;
width
:
100%
;
overflow
:
hidden
;
z-index
:
1
;
font-size
:
1rem
;
line-height
:
1.2rem
;
background
:
-webkit-gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#0000003
b
),
to
(
rgba
(
0
,
0
,
0
,
.1
)));
background
:
linear-gradient
(
180deg
,
#0000003
b
,
rgb
(
0
0
.1
));
}
.joshine-mobile-image-wrapper
{
position
:
fixed
;
top
:
0
;
right
:
0
;
bottom
:
0
;
left
:
0
;
display
:
-webkit-box
;
display
:
-webkit-flex
;
display
:
-ms-flexbox
;
display
:
flex
;
-webkit-align-items
:
center
;
-webkit-box-align
:
center
;
-ms-flex-align
:
center
;
align-items
:
center
;
-webkit-box-pack
:
center
;
-webkit-justify-content
:
center
;
-ms-flex-pack
:
center
;
justify-content
:
center
;
}
.joshine-mobile-image-box-container
{
margin-left
:
auto
;
margin-right
:
auto
;
position
:
relative
;
overflow
:
hidden
;
list-style
:
none
;
padding
:
0
;
z-index
:
1
;
height
:
100%
;
}
.joshine-mobile-image-box-content
{
color
:
#fff
;
height
:
100%
;
overflow
:
auto
;
margin-bottom
:
0.32rem
;
}
.image-box-content-title
{
margin-bottom
:
.3rem
;
line-height
:
.8rem
;
color
:
hsla
(
0
,
0%
,
100%
,
.8
);
}
.joshine-mobile-image-box
.close
{
color
:
white
;
position
:
absolute
;
right
:
1rem
;
top
:
1rem
;
color
:
#000
;
-webkit-text-stroke
:
0.02rem
#fff
;
font-weight
:
400
;
}
.joshine-mobile-image-box
.close
svg
{
width
:
2.5rem
;
height
:
2.5rem
;
}
.joshine-review-pic-item
{
cursor
:
pointer
;
}
.review-box-size
{
font-size
:
.7rem
;
}
.review-box-content
{
font-size
:
.9rem
;
}
.review-box-title
{
font-size
:
.8rem
;
}
\ No newline at end of file
app/design/frontend/Joshine/breeze/web/css/_custom.less
View file @
c0c6305b
...
...
@@ -3059,6 +3059,7 @@ strong#block-related-heading,strong#block-upsell-heading{ font-weight: 600; colo
margin-left: 10px;
padding: 2px 12px;
line-height: 18px;
font-family: Outfit-Regular,sans-serif;
}
...
...
app/design/frontend/Joshine/breeze/web/css/_joshine_utils.less
View file @
c0c6305b
...
...
@@ -234,5 +234,131 @@ fieldset[disabled] a.joshine-btn {
}
/**带字行分割条*/
.split-line {
width: 100%;
height: 14px;
opacity: .6;
font-size: 14px;
color: #777;
line-height: 14px;
font-weight: 400;
position: relative;
margin-top: 18px;
}
.split-line .split-text {
position: absolute;
padding: 0 12px;
top: 0;
height: 14px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #fff;
}
.split-line:before {
display: block;
content: "";
position: absolute;
height: 1px;
background: #ebebeb;
left: 29.5px;
right: 29.5px;
top: 50%;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
}
/*modal*/
.joshine-model-warp {
z-index: 1000;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.joshine-model-warp .joshine-mask {
z-index: 1000;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
background: rgba(0,0,0,.5);
}
.joshine-model-warp .j-modal {
overflow: hidden;
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 2000;
-webkit-overflow-scrolling: touch;
outline: 0;
}
.j-modal .j-modal-content {
position: relative;
padding: 40px 50px 30px;
background: #fff;
background-clip: padding-box;
background-position: center;
background-size: 100% 100%;
background-repeat: no-repeat;
border-radius: 4px
}
.j-modal .j-modal-header {
text-align: center;
max-height: 60em;
overflow-y: auto;
}
.joshine-model-warp .j-modal .j-modal-dialog {
width: 1050px;
position: relative;
margin: 7rem auto;
}
.joshine-close {
position: absolute;
top: 8px;
right: 8px;
width: 24px;
height: 24px;
line-height: 24px;
font-size: 14px;
cursor: pointer;
}
.j-modal .j-modal-body {
position: relative;
line-height: 1.2;
}
.joshine-model-warp .j-modal.j-modal-vertical {
justify-content: center;
align-items: center;
display: flex;
}
.swiper-button-prev {
height: 100%;
width: 50%;
position: absolute;
top: 0;
margin-top: 0;
left: 0;
right: auto;
z-index: 12;
cursor: url('@{baseDir}images/favicon-pre.ico'), auto;
}
.swiper-button-next {
height: 100%;
width: 50%;
position: absolute;
top: 0;
margin-top: 0;
right: 0;
left: auto;
z-index: 12;
cursor: url('@{baseDir}images/favicon-next.ico'), auto;
}
\ No newline at end of file
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