Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
1/3
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
Men's Oversized Tennis Casual Sports T-Shirt
1/3

Men's Oversized Tennis Casual Sports T-Shirt

$22.20
$0.00
Save 0%
Fast delivery
Worldwide shipping
ColorBlackish green
Please select a color
Size
Please select a size
Quantity
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1539149753700').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);

⬇️ Detailed size introduction is included in each product description.

Please read the "Size Guide" instructions below carefully before purchasing and choose your own size based on different parameters.

PS: Under normal circumstances, if you want to wear a slim fit, just choose your usual size. If you want to wear an oversized fit, choose one size larger.

ProductNo SP220715VW7H
Fit Loose
Sleeve Length Short Sleeve
Placket Type Pullovers
Design Elements Print
Washing Mode Machine Wash
Occasion Leisure,Daily,Casual,School
Collar/Neckline Round Collar
Style Loose and casual
Material Cotton Blend
Season Spring,Summer,Autumn
Size bust Tops& Outwear Length Shoulder width
S906943
M967145
L1027347
XL1087549
2XL1147751
3XL1207953