Cookies

We use cookies for analytics and advertising. You can accept all, keep only necessary, or customize your preferences. Cookie Policy

Digital Vantage LogoDigital Vantage Logo
  • About us
  • Offer
    • Websites
    • Web Applications
    • Applications
    • Technology consulting for companies
    • Online marketing and branding
  • Resources
    • Blog & News
    • Tools and calculators
    • Templates and checklists
    • Independent industry reports
  • Contact
Let's talk!
Polski|English
Digital Vantage LogoDigital Vantage Logo
  • About us
  • Offer
  • Resources
  • Contact
  • Search articles⌘K
  • PL|EN
    • Websites
      Building a professional online presence
    • Web Applications
      Dedicated web applications - automate and grow your business!
    • Applications
      Custom solutions tailored to your business needs
    • Technology consulting for companies
      When technology stopped keeping up with the business
    • Online marketing and branding
      Designing logos, corporate colors and letterheads
    • Blog & News
      News from the digital world.
    • Tools and calculators
      Before you start talking to an agency, check how much your project should cost.
    • Templates and checklists
      Professional checklists for B2B companies
    • Independent industry reports
      Cyclical report programs based on publicly available sources
Let's talk!
Digital Vantage LogoDigital Vantage Logo

Digital Vantage
Tel+48 663 877 600, +48 22 152 51 05
Andriollego 34, 05-400 Warsaw
REGON: 540674000
EU VAT: PL5321813962

Services
  • Websites
  • Company websites
  • Landing page
  • Web applications
  • Mobile apps
  • MVP for startups
  • Software development
  • Technology consulting
  • Online marketing and branding
  • Website pricing
Digital Vantage
  • About us
  • Contact
  • Let's talk about your business
  • Resources for business
  • Site map
Articles and guides
  • Websites
  • Online stores
  • Starting a business online
  • Web applications
  • Business applications
  • Google Business Profile
  • SaaS software
  • Glossary
Industry reports
  • Polish web market price analysis
  • Website costs
  • Online store costs
  • Web application costs
  • Mobile app costs
  • SaaS tool costs
Tools and calculators
  • Website cost
  • Online store cost
  • Web application cost
  • Website maintenance cost
  • Online store TCO
  • Website speed test
  • Quiz: website or app
  • Quiz: which e-commerce platform
  • Quiz: WordPress or headless
  • Quiz: ready-made SaaS or custom
Checklists and templates
  • Launching a website
  • Website audit
  • E-commerce UX checklist
  • Store migration
  • Choosing a web agency
  • Website security
Follow Us
FacebookInstagram
© Digital Vantage - Warsaw, Poland
Cookie PolicyPrivacy PolicyConditions
Polski|English
© 2026 Digital Vantage. © 2026 Digital Vantage. All rights reserved.
Digital Vantage LogoDigital Vantage Logo

Digital Vantage
Tel+48 663 877 600, +48 22 152 51 05
Andriollego 34, 05-400 Warsaw
REGON: 540674000
EU VAT: PL5321813962

★ 5.0
Google reviews
24h
We reply on business days.
20+ yrs
in IT/B2B EMEA
100/100
Desktop PageSpeed
© Digital Vantage - Warsaw, Poland
Cookie PolicyPrivacy PolicyConditions
Polski|English
© 2026 Digital Vantage. © 2026 Digital Vantage. All rights reserved.

Table of Contents · 9 sections

In this article

  1. 01Three layers every website is built from
  2. 02How to see your own site's code — and two things you can check yourself
  3. 03Why headings aren't a matter of font size
  4. 04Semantics, or the rest of the things that say "what this is"
  5. 05Why changing a button's colour is sometimes five minutes and sometimes a week
  6. 06What happens when a site hits a phone
  7. 07What's your decision, and what's the contractor's
  8. 08What you don't need to know how to do
  9. 09Where these numbers come from
  1. Home›
  2. ›
  3. Blog & News from the Digital World›
  4. Websites — a guide to the whole section›
  5. Website technologies — what to build on, and what changing your mind costs›
  6. HTML and CSS — what you're looking at when you open your site's source code
Vendors and contracts·SEO·Mobile-friendly websites·10 min reading time·12,207 characters·1,928 words

HTML and CSS — what you're looking at when you open your site's source code

What HTML and CSS actually do, two checks you can run yourself in two minutes, and why changing a button's colour is sometimes a week's work.

RE
Redakcja Digital Vantage
Published19 Feb 2025
Updated8 Oct 2026
PL|EN

This piece won't teach you to build websites. It exists so that the words in proposals and conversations with a contractor stop being jargon and become things you can actually ask about.

HTML, CSS, semantics, source code, heading structure — each means something specific, and some translate directly into what you'll pay for changes a year from now.

Three layers every website is built from

Every website — whatever it runs on — is made of three layers that do three different jobs.

The three layers of a web page: HTML, CSS and JavaScript

Three layers of a website: content, appearance, behaviour

Own comparison

HTML is content and its structure. It says what's a heading, a paragraph, a list, a link — not how it should look, but what it is. This is the layer read by a search engine and a blind person's screen reader.

CSS is appearance. Colours, spacing, typefaces, grid, behaviour on a small screen. The same HTML content can look completely different depending on the CSS — the whole point of splitting these two layers.

JavaScript is behaviour. Everything that happens after the page loads: reacting to a click, filtering, a calculator, a form submitted without a reload. Covered separately when choosing a frontend technology.

The split has a practical consequence: each layer is a different conversation with a contractor, and the first is mostly your decision, not theirs.

How to see your own site's code — and two things you can check yourself

You don't need to read code to check two things in it that decide whether a site is visible in search.

Open the source code. Right-click your own site and choose "View Page Source", or press Ctrl+U (Option+Cmd+U on a Mac). A tab opens with text — exactly what the server sent the browser, and what a crawler fetches. Don't confuse this with "Inspect", which shows the state after scripts run, a view the crawler doesn't see on its first pass.

First check: is your content there. Press Ctrl+F and search for any sentence from your page. Found it? The content is in the first response. A dozen lines of script references and nothing else? Content only builds in the browser, delaying indexing by days or weeks — the mechanism behind this is covered under Next.js and React.

Second check: does the page have search-engine descriptions. Look for <title> and meta name="description". If the title is identical on every page, says "Home" or isn't there — you're paying for a site that introduces itself poorly in search results. Five seconds' work, and one of the most common things we find in audits.

A capture of the “View page source” view (Ctrl+U) of this article, in two frames. Frame 1: a Ctrl+F search finds the article’s first sentence in the code, “This piece won’t teach you to build websites.”, so the content is in the server’s first response. Frame 2: the highlighted title tag, “HTML and CSS explained for non-developers”, and the meta name="description" tag with the description Google shows under the title in results. Caption under the frames: “Inspect” shows the state after scripts have run, which the crawler does not see on its first pass.

“View page source” — two checks on this article

Digital Vantage, capture of this article’s page source on www.digitalvantage.eu, 5 Oct 2026

Check both on a few pages, not just the homepage — the problem usually starts from the second page.

Why headings aren't a matter of font size

This is the most common misunderstanding at the boundary between these layers, and the most expensive one in its consequences.

Headings — H1, H2, H3 — aren't text styles. They're the document's skeleton: H1 the book's title, H2 the chapter titles, H3 the subsections inside them. A search engine reads that hierarchy to understand what a page is about and which part answers which question.

What breaks when they're used for looks. Someone wants text smaller and bold, so they mark it as an H3 — structurally announcing a subsection that doesn't exist. A dozen spots like that, and a page has a skeleton matching nothing.

Who loses out. Not Google — someone using a screen reader, who navigates by jumping between headings the way you skim with your eyes. A list of headings is their table of contents; entries that don't start a section turn moving around the page into guesswork.

Two heading outlines, as heard by someone with a screen reader who jumps from heading to heading. On the left, a correct outline from this article: the H1 title, H2 chapters under it, and in the chapter “What you don’t need to know how to do” two H3 subsections — every entry starts a section; an excerpt of the outline is shown. On the right, an example services page with a broken outline: H3 used to make text smaller — “Call now!”, “In business for years”, “*Prices excl. VAT” — creates subsections that start nothing. Caption: font size is CSS’s job; a heading says what the text is. A diagram with no figures.

The heading outline as a screen reader hears it

Digital Vantage, own diagram

The rule is simple, and worth passing on to whoever writes the content: a heading says what a piece of text is. If what you actually want is for it to be smaller or bold, that's CSS's job, not the tag's. The same rule applies to accessibility requirements, which we cover separately in our article on WCAG.

Semantics, or the rest of the things that say "what this is"

Headings are the most visible example, but the same principle applies in a few other places — and getting it wrong costs the same way each time.

A list that isn't a list. Dashes in a paragraph look like a list and aren't one — a screen reader reads one long paragraph, not "list, five items", and a search engine sees continuous text, not an enumeration.

A button that's a link, and vice versa. A link takes you somewhere, a button does something. An element built "the wrong way" often can't be reached from the keyboard, which for some users means it simply doesn't work.

An image's alt text. A single field describing what's in a photo. A screen reader and image search both read it, and anyone whose image failed to load sees it too. This is a field your contractor cannot fill in for you — only you know whether it shows "the team" or "our production hall in Katowice".

The page's language. One piece of code saying the page is in English. Without it, a speech synthesiser can read English text with the wrong accent — and it sounds exactly as bad as you'd imagine.

All four have one thing in common: they cost nothing if done from the start, and they're a tedious fix once bolted onto a finished site. Worth having them in the contract as a requirement, not in a snag list after handover.

Why changing a button's colour is sometimes five minutes and sometimes a week

This is where CSS stops being a technical topic and becomes a line in your budget.

The cheap version. Well-written CSS keeps visual decisions in one place, as named values — primary colour, accent colour, text size, spacing. Every button, heading and border refers to those names instead of repeating the value. Changing the brand colour is then one edit in one file.

The expensive version. A colour hard-coded everywhere — a hundred places in the code, a dozen plugins, content typed in by the editorial team. Changing it means finding every occurrence and checking nothing was missed. Weeks here come from the number of places, not the complexity.

How it looks for us. This site has 164 named values — colours, text sizes, spacing, light and dark variants — defined in a single file, across 315 declarations covering different themes (counted on 11 September 2026). Changing the accent colour across the whole site, dark mode included, is one line.

Changing the brand colour in two CSS models. Named values: one variable holding the accent colour, referenced by buttons, headings, borders and dark mode — the change is one edit in one file. A hard-coded colour: a hundred places in the code, a dozen plugins and content typed in by the editorial team — every occurrence has to be found, fixed and checked; the weeks come from the number of places, not from complexity. Below, our measurement from 11 September 2026: 164 named values across 315 declarations in one file, and changing the accent colour across the whole site, dark mode included, is one line.

Changing the brand colour: named values versus a hard-coded colour

Digital Vantage, own diagram; measurement of this site’s stylesheet, 11 Sep 2026

A question worth asking at handover: "where are the colours and typefaces defined, and how many places would need to change to change the brand colour." An answer of "one file, in variables" means you're paying for code that can be maintained. An evasive answer usually means every future change will be quoted from scratch.

The same goes for typefaces, spacing, and the points where the layout breaks onto a phone. CSS quality isn't visible on screen — it's visible on the invoice for the second change.

What happens when a site hits a phone

Responsiveness shows up in proposals as a single tick box, as if it were a switch. It isn't — it's a set of decisions about what happens to the layout as the screen narrows, and some of those decisions are yours to make.

Three columns sit side by side on a large screen; on a phone they stack, and the question is in what order. Not a technical question: a phone user sees whatever's on top first and may never read the rest. Tables on a narrow screen either collapse, scroll sideways, or stop being readable.

Three things worth checking yourself on your own phone before signing off on a site:

  • Can you complete the main action with one thumb — find the offer, open the form, send it.
  • Does anything spill off the edge of the screen. If the page scrolls sideways, something's wider than the screen; that's a bug, not a feature.
  • Is the text readable without zooming, and can buttons be hit with a finger, not just a cursor.

These are the same checks we run in audits — and they turn out worse than everyone assumes, because a site gets designed on a monitor and viewed on a phone.

What's your decision, and what's the contractor's

The split we propose to clients, and that works for us:

Yours: the text and what it is — what's the page title, what's a section heading, what's a plain paragraph. Image alt text, because only you know what's in a photo and why it's there. Titles and descriptions for search engines, because that's marketing copy, not a technical setting.

Shared: the hierarchy of content on the page and which information matters most — the contractor suggests how to express it, but the order follows from what you're selling.

The contractor's: everything underneath — how the code is organised, where variables live, how the site behaves on a slow connection, how scripts work.

The line sits in one place: if a decision is about the meaning of content, it's yours; if it's about how it's built, it's theirs. Most disputes at handover come from someone crossing that line in one direction or the other.

What you don't need to know how to do

You don't need to know how to write HTML to commission a good website — any more than you pour your own office's foundations. You need to be able to ask four questions and check two things in the source code, which together take a few minutes.

If you'd still like to try it yourself — testing an idea, enjoying understanding things from the inside, or building a hobby site — we have a separate piece for that: how to build a simple website in HTML. It's a different road, and we're not pretending it doesn't exist.

Five words from proposals, translated

Semantic HTML — code where the tags describe what content is, not how it looks. What this whole piece is about.

Validation — checking that code is correctly built. Useful, but it says nothing by itself about a site's quality: code can be formally flawless and useless in practice.

Breakpoint — the screen width at which a layout changes. The fewer of them, and the better chosen, the fewer places a site looks odd.

Design system — a set of named visual decisions, discussed above: colours, spacing, typefaces in one place. In a proposal it signals that a contractor intends to write code that can be maintained.

Minification — stripping everything from a file that's there for a human, not a browser. A standard, not an advantage; if someone lists it as a separate selling point, it's worth asking what else in that proposal is standard.

Four questions for a contractor

  1. Is the content in the page's code in the server's first response? Check it yourself, Ctrl+U.
  2. Does every page have its own title and search-engine description? Same place, Ctrl+F.
  3. Do headings describe the structure of the content, or just font size? A question that saves whoever writes the content a later fix-everything-at-once.
  4. Where are colours and typefaces defined? One place or a hundred — that's the price of every future visual change.

Where these numbers come from

  • 164 named values across 315 declarations — counted in this site's global stylesheet on 11 September 2026.
  • Keyword volumes — UK Keyword Planner pull, 11 September 2026: what is html 2,900, what is css 1,600, what does html stand for 3,600.
  • What's deliberately not here — a list of HTML tags. That family of searches is a cheat sheet for someone writing code, not for a company commissioning a site; covering it properly would mean writing documentation that already exists, and is better than anything we'd add.

We'll check your site with these same two moves

Fifteen minutes: is the content in the server's first response, does every

page have its own title and description, do headings describe structure, and

where do the colours live. You'll get a list of what's worth fixing — in

order, without the jargon.

Let's talk about your business

Related Posts

  • Websites — a guide to the whole section
    • Website technologies — what to build on, and what changing your mind costs

      Nine texts on what to build a company website on: the words in a proposal, platform choice, headless, hosting. Start with the phase you are in.

      • 1.
        Self-hosting Next.js and Payload: the maths that works, and three things that break

        Vercel with a managed database versus a VPS on Coolify: 271 USD against 36 EUR a month at 2 TB of traffic, plus three failures we hit in production.

      • 2.
        Payload CMS — what it is like to run a company site on it

        This site runs on Payload: 39 collections, 40 blocks, four languages. What code-first means, what version 3 changed, and what cost us the most time.

      • 3.
        Next.js vs React — the differences that show up in your bill and in Google

        Next.js is React with a server layer. See when it pays off, how Google's two rendering queues work, and where Next.js actually loses.

      • 4.
        What to build your company website on — five paths, and the cost of leaving each one

        Webflow, WordPress, headless or custom-built — five platforms, the point where each stops being enough, and what you actually take with you if you move.

      • 5.
        Website hosting — what to choose and what it actually costs

        The advertised price is rarely the price. Four kinds of hosting, the point where each stops being enough, and what hosting actually changes in site speed.

      • 6.
        Headless CMS — who in the company gets to change what, and what it costs

        Headless CMS trades editorial independence for flexibility. See when that trade pays off, what a preview delay costs, and two deployment models compared.

      • 7.
        Modern website — what the words in your proposal actually mean

        Serverless, edge, JAMstack, API-first, PWA: which of these actually improves your site, and which is a line item that just looks good in a quote.

      • 8.
        PHP vs JavaScript The ultimate clash - who is king in web development?

        PHP or a modern JavaScript framework? A comparison of where each one runs, typical use cases and architecture patterns, to help you pick a web stack.

About the Team

Digital Vantage Team

Share:

FacebookTwitterLinkedInWhatsAppMessengerDiscord

Table of Contents · 9 sections · 10 minutes read

In this article

  1. 01Three layers every website is built from
  2. 02How to see your own site's code — and two things you can check yourself
  3. 03Why headings aren't a matter of font size
  4. 04Semantics, or the rest of the things that say "what this is"
  5. 05Why changing a button's colour is sometimes five minutes and sometimes a week
  6. 06What happens when a site hits a phone
  7. 07What's your decision, and what's the contractor's
  8. 08What you don't need to know how to do
  9. 09Where these numbers come from

Comments

Rate this article

No comments yet. Be the first to share your thoughts!

Related Articles

Back to the guide: Websites — a guide to the whole section

⇲
Image on the Digital Vantage website

SEO cost — a calculation instead of a price range

We found no independent Polish benchmark for SEO cost. How to turn a fee and its hours into an hourly rate, and what to ask before signing.

Data publikacji: 03/10/2026
Characters: 23058•Words: 3555•Reading time: 18 min
⇲
Image on the Digital Vantage website

PageSpeed Insights — how to read the report: user data, the Lighthouse score and test settings

What each part of the PageSpeed Insights report means: 28 days of user data, the Lighthouse score, phone vs desktop, and why the score keeps changing.

Data publikacji: 03/10/2026
Characters: 25321•Words: 3914•Reading time: 20 min
⇲
Image on the Digital Vantage website

Google Search Console — what it is and how to use it in business

Google Search Console without guesswork: verification, agency access, CTR and average position by Google's own definitions, and page indexing statuses.

Data publikacji: 03/10/2026
Characters: 26213•Words: 3947•Reading time: 20 min
⇲
Image on the Digital Vantage website

Product Page: What It Needs to Sell, Comply with EU Law and Satisfy Google

What a product page needs: photos, the EU 30-day lowest-price rule, mandatory GPSR information, delivery, returns, reviews and Google structured data.

Data publikacji: 01/10/2026
Characters: 18612•Words: 2752•Reading time: 14 min
⇲
Image on the Digital Vantage website

Ecommerce SEO Audit: What to Check and in What Order

An ecommerce SEO audit runs mostly on free Google reports: indexing, Core Web Vitals, rich results, duplicates and Merchant Center data.

Data publikacji: 01/10/2026
Characters: 16397•Words: 2336•Reading time: 12 min
⇲
Image on the Digital Vantage website

Google Merchant Center: What It Is and How to Set It Up

Google Merchant Center: site verification, product data, shipping and landing page rules, disapprovals, and Shopify, WooCommerce and IdoSell integrations.

Data publikacji: 01/10/2026
Characters: 16444•Words: 2320•Reading time: 12 min
⇲
Image on the Digital Vantage website

SLA — what it is and what to check in an SLA with a cloud provider

SLA meaning: how much downtime fits in 99.9%, how AWS, Microsoft and Google SLAs compare, SLO, RPO, RTO and 10 things to check before signing.

Data publikacji: 30/09/2026
Characters: 21530•Words: 3253•Reading time: 17 min
⇲
Website Monitoring for Businesses - The Complete Guide to Tools and Strategies 2025

500, 502 Bad Gateway, 503 and 504 errors — what they mean and who to call when they hit your site

A 502 Bad Gateway, 500, 503 or 504 error tells you which part failed: the application, the link between servers or an overload. And who to call.

Data publikacji: 19/09/2026
Characters: 14843•Words: 2285•Reading time: 12 min
⇲
Image on the Digital Vantage website

404 Not Found, 403, 401 and 400 errors — what these status codes mean and how to fix them

A 404 Not Found on your own site is usually a page removed without a redirect. What 4xx status codes mean, what Google does and why our 404 returns 200.

Data publikacji: 19/09/2026
Characters: 14112•Words: 2228•Reading time: 12 min