diff --git a/core/fxcrt/css/cfx_csscomputedstyle.cpp b/core/fxcrt/css/cfx_csscomputedstyle.cpp
index 11ae901..5b7b003 100644
--- a/core/fxcrt/css/cfx_csscomputedstyle.cpp
+++ b/core/fxcrt/css/cfx_csscomputedstyle.cpp
@@ -119,7 +119,7 @@
 }
 
 CFX_CSSVerticalAlign CFX_CSSComputedStyle::GetVerticalAlign() const {
-  return m_NonInheritedData.m_eVerticalAlign;
+  return m_NonInheritedData.m_eVerticalAlignType;
 }
 
 float CFX_CSSComputedStyle::GetNumberVerticalAlign() const {
@@ -147,7 +147,7 @@
 }
 
 void CFX_CSSComputedStyle::SetNumberVerticalAlign(float fAlign) {
-  m_NonInheritedData.m_eVerticalAlign = CFX_CSSVerticalAlign::Number,
+  m_NonInheritedData.m_eVerticalAlignType = CFX_CSSVerticalAlign::Number,
   m_NonInheritedData.m_fVerticalAlign = fAlign;
 }
 
@@ -187,7 +187,7 @@
       m_PaddingWidth(CFX_CSSLengthUnit::Point, 0),
       m_fVerticalAlign(0.0f),
       m_eDisplay(CFX_CSSDisplay::Inline),
-      m_eVerticalAlign(CFX_CSSVerticalAlign::Baseline),
+      m_eVerticalAlignType(CFX_CSSVerticalAlign::Baseline),
       m_dwTextDecoration(0),
       m_bHasMargin(false),
       m_bHasBorder(false),
diff --git a/core/fxcrt/css/cfx_csscomputedstyle.h b/core/fxcrt/css/cfx_csscomputedstyle.h
index d4959ee..cd3ce16 100644
--- a/core/fxcrt/css/cfx_csscomputedstyle.h
+++ b/core/fxcrt/css/cfx_csscomputedstyle.h
@@ -49,7 +49,7 @@
     CFX_CSSLength m_Right;
     float m_fVerticalAlign;
     CFX_CSSDisplay m_eDisplay;
-    CFX_CSSVerticalAlign m_eVerticalAlign;
+    CFX_CSSVerticalAlign m_eVerticalAlignType;
     uint8_t m_dwTextDecoration;
     bool m_bHasMargin;
     bool m_bHasBorder;
diff --git a/core/fxcrt/css/cfx_cssstyleselector.cpp b/core/fxcrt/css/cfx_cssstyleselector.cpp
index c8ed1cf..998424d 100644
--- a/core/fxcrt/css/cfx_cssstyleselector.cpp
+++ b/core/fxcrt/css/cfx_cssstyleselector.cpp
@@ -325,10 +325,10 @@
         break;
       case CFX_CSSProperty::VerticalAlign:
         if (eType == CFX_CSSPrimitiveType::Enum) {
-          pComputedStyle->m_NonInheritedData.m_eVerticalAlign =
+          pComputedStyle->m_NonInheritedData.m_eVerticalAlignType =
               ToVerticalAlign(pValue.As<CFX_CSSEnumValue>()->Value());
         } else if (eType == CFX_CSSPrimitiveType::Number) {
-          pComputedStyle->m_NonInheritedData.m_eVerticalAlign =
+          pComputedStyle->m_NonInheritedData.m_eVerticalAlignType =
               CFX_CSSVerticalAlign::Number;
           pComputedStyle->m_NonInheritedData.m_fVerticalAlign =
               pValue.As<CFX_CSSNumberValue>()->Apply(
