Jak pozbyć się niechcianego odstępu między obramowaniem a tekstem w menu?

Jak pozbyć się niechcianego odstępu między obramowaniem a tekstem w menu?
whiteman808
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 201
0

Potrzebuję się pozbyć niechcianego odstępu między tekstem a czarnym prawostronnym obramowaniem elementu nav ul li. Chcę zrobić menu dla księgi gości w HTML5 i CSS3.

Plik HTML

Kopiuj

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="css/styles.css">
    <title>Guest book - Main page</title>
</head>
<body>
    <header class="page-header">
        <h1>Guest book</h1>
        <p>Yet another page written in PHP</p>
    </header>
    <nav>
        <ul>
            <li><a href="index.php">Index</a></li>
            <li><a href="index.php?action=new_entry">New entry</a></li>
            <li><a href="index.php?action=register">Register</a></li>
            <li><a href="index.php?action=login">Login</a></li>
        </ul>
    </nav>
    <main class="guestbook-entries">
        <article>
            <header>
                <h2>Entry title</h2>
                <p>Author: whiteman808</p>
                <p>Date: <?=date("Y-m-d H:i:s")?></p>
            </header>
            <section>
                <p>An entry in the guest book...</p>
            </section>
        </article>
        <article>
            <header>
                <h2>Entry title</h2>
                <p>Author: whiteman808</p>
                <p>Date: <?=date("Y-m-d H:i:s")?></p>
            </header>
            <section>
                <p>An entry in the guest book...</p>
            </section>
        </article>
    </main>
    <footer class="page-footer">
        <p>Made by whiteman808</p>
    </footer>
</body>
</html>

Plik CSS

Kopiuj
body {
    background-color: #ffffcc;
    width: 60%;
    margin: 0 auto;
}

nav ul {
    list-style-position: inside;
    list-style-type: none;
    padding: 0;
    border: 3px solid #000;
    display: inline;
}

nav ul li {
    padding: 0;
    display: inline;
}

nav ul li:not(:last-child) {
    border-right: 3px solid #000;
}

nav ul li a {
    color: #000;
    text-decoration: none;
}

nav ul li a:hover {
    text-decoration: underline;
}

.page-header {
    margin-top: 75px;
}

.guestbook-entries {
    margin-top: 75px;
}

.guestbook-entries article:not(:last-child) {
    border-bottom: 1px solid black;
}

.page-footer {
    margin-top: 75px;
    text-align: center;
}


Czerwoną obwódką zaznaczyłem niechciany odstęp

image

hzmzp
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 741
0

Usuń border na li

whiteman808
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 201
0

border ma być, chcę usunąć odstęp z lewej strony między borderem a tekstem

Xarviel
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 847
2

Odstęp widoczny na zdjęciu to znak nowej linii zamieniony na spację 😛 Elementy liniowe (inline, inline-block itd) posiadają taką właściwość.

Czyli teoretycznie musimy zamienić poniższy fragment

Kopiuj
<ul>
  <li>...</li>
  <li>...</li>
</ul>

na taki bez spacji oraz znaków nowej linii

Kopiuj
<ul><li>...</li><li>...</li></ul>

Ewentualnie skorzystać z CSS

Kopiuj
nav ul {
  display: flex;
  width: fit-content;
}
CI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 963
0

A może daj center bo obecnie to wygala jak by przesuwało tekst do prawej. Dziwne że z tego kodu co dałeś, nie wynika takie coś. Można dać wyśrodkowanie, ale to nie będzie usuwało odstępu od rysowania linii tabeli.

Może jeszcze jakiś plik css gra na tym osobny?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.