diff --git a/packages/react-native-web/src/exports/StyleSheet/__tests__/createReactDOMStyle-test.js b/packages/react-native-web/src/exports/StyleSheet/__tests__/createReactDOMStyle-test.js index f76c472a..104aaf85 100644 --- a/packages/react-native-web/src/exports/StyleSheet/__tests__/createReactDOMStyle-test.js +++ b/packages/react-native-web/src/exports/StyleSheet/__tests__/createReactDOMStyle-test.js @@ -247,7 +247,9 @@ describe('StyleSheet/createReactDOMStyle', () => { textDecorationStyle: 'dashed' }) ).toEqual({ - textDecoration: 'underline dashed rgba(255,0,0,1.00)' + textDecoration: 'underline', + textDecorationColor: 'rgba(255,0,0,1.00)', + textDecorationStyle: 'dashed' }); }); }); diff --git a/packages/react-native-web/src/exports/StyleSheet/createReactDOMStyle.js b/packages/react-native-web/src/exports/StyleSheet/createReactDOMStyle.js index a6690d43..1eb2bed3 100644 --- a/packages/react-native-web/src/exports/StyleSheet/createReactDOMStyle.js +++ b/packages/react-native-web/src/exports/StyleSheet/createReactDOMStyle.js @@ -95,10 +95,18 @@ const resolveShadow = (resolvedStyle, style) => { const resolveTextDecoration = (resolvedStyle, style) => { const { textDecorationColor, textDecorationLine, textDecorationStyle } = style; - const color = normalizeColor(textDecorationColor) || ''; - const lineStyle = textDecorationStyle || ''; + const color = normalizeColor(textDecorationColor); + if (textDecorationLine) { - resolvedStyle.textDecoration = `${textDecorationLine} ${lineStyle} ${color}`.trim(); + // use 'text-decoration' for browsers that support CSS2 text-decoration (e.g., IE, Edge) + resolvedStyle.textDecoration = textDecorationLine; + + if (textDecorationColor) { + resolvedStyle.textDecorationColor = color; + } + if (textDecorationStyle) { + resolvedStyle.textDecorationStyle = textDecorationStyle; + } } };