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

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


<!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

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

0

Usuń border na li

0

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

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

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

na taki bez spacji oraz znaków nowej linii

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

Ewentualnie skorzystać z CSS

nav ul {
  display: flex;
  width: fit-content;
}
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?

1 użytkowników online, w tym zalogowanych: 0, gości: 1