XHTML is an XML-based reformulation of HTML that is well-formed and introduces some required elements. It differs from HTML in being case-sensitive, requiring certain attributes, and avoiding presentational elements in favor of CSS. CSS allows specifying how XML data should be presented through stylesheets, which can be attached externally, internally, or inline. CSS uses selectors, properties, and values to target elements and control aspects like fonts, colors, positioning, and more.