CSS-marges en opvulling: verschillen tussen de marge- en opvullingseigenschappen.

In het vorige hoofdstuk noemden we CSS-eigenschappen zoals marge en opvulling. Nu zullen we ze in meer detail bekijken en bekijken hoe ze van elkaar verschillen en welke functies ze hebben.

Je kunt op de een of andere manier spaties tussen elementen creëren, maar als opvulling de inspringing is van de inhoud naar de rand van het blok, dan is de marge de afstand van het ene blok naar het andere, de interblokruimte. De schermafbeelding toont een duidelijk voorbeeld:

Opvulling scheidt de inhoud van de blokrand, en de marge creëert openingen tussen de blokken

Zoals u kunt zien, verschillen CSS-marges en opvulling van elkaar, hoewel het soms zonder naar de code te kijken onmogelijk is om te bepalen welke eigenschap wordt gebruikt om de afstand in te stellen. Dit gebeurt wanneer het frame of de achtergrond van het inhoudsblok ontbreekt.

De volgende eigenschappen bestaan ​​om de marge of opvulling in CSS aan elke zijde van een element in te stellen:

Vulling:

  • vulling-top: betekenis;
  • opvulling-rechts: betekenis;
  • opvulling-bodem: betekenis;
  • opvulling-links: betekenis;

Velden:

  • marge-top: betekenis;
  • marge-rechts: betekenis;
  • marge-onder: betekenis;
  • marge-links: betekenis;

Waarden kunnen in elk worden opgegeven CSS-eenheden– px, em, %, etc. Voorbeeld: marge-top: 15px .

Er is ook heel handig ding Hoe afkorting voor marge en opvulling CSS. Als u marges of opvulling aan alle vier de zijden van een element moet instellen, hoeft u de eigenschap niet voor elke zijde afzonderlijk te schrijven. Alles wordt eenvoudiger gemaakt: voor marge en opvulling kun je 1, 2, 3 of 4 waarden tegelijk opgeven. Het aantal waarden bepaalt hoe de instellingen worden verdeeld:

  • 4 waarden: opvulling wordt ingesteld voor alle zijden van het element in de volgende volgorde: boven, rechts, onder, links: opvulling: 2px 4px 5px 10px;
  • 3 waarden: de opvulling wordt eerst ingesteld voor de bovenzijde, vervolgens gelijktijdig voor de linker- en rechterzijde, en vervolgens voor de onderzijde: opvulling: 3px 6px 9px;
  • 2 waarden: opvulling wordt eerst gelijktijdig ingesteld vanaf de boven- en onderkant, en vervolgens gelijktijdig voor de linker- en rechterzijde: opvulling: 6px 12px;
  • 1 waarde: gelijke opvulling is ingesteld voor alle zijden van het element: opvulling: 3px;

Dezelfde regels zijn van toepassing op de CSS-marge-eigenschap. Houd er rekening mee dat u voor de marge ook negatieve waarden kunt gebruiken (bijvoorbeeld -3px), wat soms best handig kan zijn.

Marge samenvouwen

Stel je de situatie voor: twee blok-element bevinden zich boven elkaar en krijgen margevelden. Het bovenste blok is ingesteld op marge: 60px en het onderste blok is ingesteld op marge: 30px. Het zou logisch zijn om aan te nemen dat de twee aangrenzende velden van twee elementen elkaar eenvoudigweg zullen raken en dat als gevolg daarvan de opening tussen de blokken gelijk zal zijn aan 90 pixels.

De zaken zijn echter anders. In een dergelijke situatie treedt in feite een effect op dat instorting wordt genoemd, wanneer de grootste in omvang wordt geselecteerd uit twee aangrenzende velden met elementen. In ons voorbeeld is de uiteindelijke opening tussen de elementen 60 pixels.


De afstand tussen blokken is gelijk aan de grootste van de waarden

Inklapbare marge werkt alleen voor de boven- en ondermarges van elementen en is niet van toepassing op de marges aan de rechter- en linkerkant. De uiteindelijke tussenruimtewaarde wordt berekend verschillende situaties anders:

  • Wanneer beide margewaarden positief zijn, zal de resulterende margegrootte gelijk zijn aan de grotere waarde.
  • Als een van de waarden negatief is, moet u om de veldgrootte te berekenen de som van de waarden verkrijgen. Bij waarden van 20px en -18px is de veldgrootte bijvoorbeeld gelijk aan:
    20 + (-18) = 20 – 18 = 2 pixels.
  • Als beide waarden negatief zijn, worden de moduli van deze getallen vergeleken en wordt het getal met de grootste modulus (dus het kleinste van de negatieve getallen) geselecteerd. Voorbeeld: u moet de waarden van de velden -6px en -8px vergelijken. De moduli van de getallen die worden vergeleken zijn respectievelijk 6 en 8. Hieruit volgt dat 6 -8. De resulterende veldgrootte is -8 pixels.
  • In het geval waarin de waarden zijn gespecificeerd in verschillende eenheden CSS, ze worden teruggebracht tot één, waarna ze worden vergeleken en de grotere waarde wordt geselecteerd.
  • margegrootte voor kind elementen het wordt nog interessanter gedefinieerd: als het kind een groter margeveld heeft dan de ouder, wordt er prioriteit aan gegeven. In dit geval zullen de afmetingen van de boven- en ondermarges van de ouder dezelfde zijn als die gespecificeerd voor het kind. In dit geval is er geen afstand tussen ouder en kind.

HTML-formulieren zijn controles die worden gebruikt om informatie van websitebezoekers te verzamelen.

Webformulieren bestaan ​​uit een verzameling tekstvelden, knoppen, lijsten en andere bedieningselementen die worden geactiveerd door een muisklik. Technisch gezien geven formulieren gegevens van de gebruiker door aan een externe server.

Voor het ontvangen en verwerken van formuliergegevens zijn webprogrammeertalen zoals PHP, Perl.

Vóór de komst van HTML5 waren webformulieren een verzameling van verschillende elementen , eindigend met een knop . Het kostte veel moeite om formulieren in verschillende browsers te stylen. Bovendien vereisten de formulieren het gebruik van JavaScript om de ingevoerde gegevens te valideren, en ontbraken er ook specifieke typen invoervelden voor het specificeren van alledaagse informatie zoals datums en adressen. e-mail en URL's.

HTML5-formulieren heeft de meeste van deze veelvoorkomende problemen opgelost dankzij de aanwezigheid van nieuwe attributen, die de mogelijkheid bieden om te veranderen verschijning vormelementen vanwege CSS3.

Rijst. 1. Verbeterde webformulieren met HTML5

Een HTML5-formulier maken

1. Element

De basis van elke vorm is het element .... Het vereist geen invoer omdat het een container is die alle formulierbesturingselementen bij elkaar houdt - velden. De attributen van dit element bevatten informatie die gemeenschappelijk is voor alle formuliervelden, dus logisch gecombineerde velden moeten in één formulier worden opgenomen.

Tabel 1. Tagattributen
Attribuut Betekenis/beschrijving
accept-tekenset De attribuutwaarde is een spatie gescheiden lijst met tekencoderingen, die wordt gebruikt om het formulier in te dienen, bijvoorbeeld .
actie Vereist attribuut, die de url specificeert van de formulierbehandelaar op de server waarnaar de gegevens worden verzonden. Het is een bestand (bijvoorbeeld action.php) dat beschrijft wat er met de formuliergegevens moet gebeuren. Als de attribuutwaarde niet is opgegeven, zullen de formulierelementen, nadat de pagina opnieuw is geladen, hun standaardwaarden aannemen.
In het geval dat alle werkzaamheden aan de klantzijde worden uitgevoerd JavaScript-scripts, dan kan het action attribuut worden ingesteld op # .
Ook kunt u ervoor zorgen dat het door de bezoeker ingevulde formulier per e-mail naar u wordt verzonden. Om dit te doen, moet u de volgende invoer maken:
automatisch aanvullen

enctype Gebruikt om aan te geven MIME-type van de gegevens die samen met het formulier worden verzonden, bijvoorbeeld enctype="multipart/form-data" . Alleen opgegeven in het geval van method="post" .
application/x-www-form-urlencoded - standaard inhoudstype, geeft aan dat de overgedragen gegevens een lijst met URL-gecodeerde gegevens vertegenwoordigen variabelen vormen. Spatietekens (ASCII 32) worden gecodeerd als + en een speciaal teken zoals ! wordt hexadecimaal gecodeerd als %21.
multipart/form-data - gebruikt om formulieren in te dienen die bestanden, niet-ASCII-gegevens en binaire gegevens bevatten, bestaat uit verschillende delen, die elk de inhoud vertegenwoordigen individueel element vormen.
tekst/plain - geeft aan dat gewone (geen html) tekst wordt verzonden.
methode Specificeert hoe formuliergegevens worden verzonden.
De get-methode verzendt gegevens naar de server via adresbalk browser. Bij het genereren van een verzoek aan de server vormen alle variabelen en hun waarden een reeks zoals www.anysite.ru/form.php?var1=1&var2=2 . Worden namen en waarden van variabelen na het teken aan het serveradres toegevoegd? en worden gescheiden door &. Alle speciale karakters en niet-Latijnse letters worden gecodeerd in het formaat %nn, de spatie wordt vervangen door +. Deze methode moet worden gebruikt als u niet slaagt grote volumes informatie. Als u een bestand mee moet sturen met het formulier, werkt deze methode niet.
De postmethode wordt gebruikt om grote hoeveelheden gegevens te verzenden vertrouwelijke informatie en wachtwoorden. De gegevens die met deze methode worden verzonden, zijn niet zichtbaar in de URL-header, omdat deze zich in de hoofdtekst van het bericht bevinden.
naam Stelt in formulier naam, die zal worden gebruikt om toegang te krijgen tot formulierelementen via scripts, zoals name="opros" .
niet valideren Schakelt de validatie uit op de formulierverzendknop. Het attribuut wordt gebruikt zonder een waarde op te geven
doel Specificeert het venster waarnaar de informatie wordt verzonden:
_blank - nieuw venster
_self - hetzelfde frame
_parent — ouderframe (als het bestaat, zo niet, dan naar het huidige)
_top - venster hoogste niveau in relatie tot dit frame. Als de oproep niet afkomstig is van een onderliggend frame, dan naar hetzelfde frame.

2. Formulierelementen groeperen

Element

...
bedoeld voor het groeperen van elementen, verwante vriend met een vriend, waardoor het formulier in logische fragmenten wordt verdeeld.

Elke groep elementen kan een naam krijgen met behulp van het element , die onmiddellijk na de tag komt

. De groepsnaam verschijnt in de linkerbovenrand
. Bijvoorbeeld als het in een element zit
Contactgegevens worden opgeslagen:

Contactgegevens


Rijst. 2. Formulierelementen groeperen met behulp van

Tabel 2. Tagattributen
Attribuut Betekenis/beschrijving
gehandicapt Als het attribuut aanwezig is, dan is er sprake van een groep gerelateerde formulierelementen die zich in de container bevinden
, uitgeschakeld voor invullen en bewerken. Wordt gebruikt om de toegang te beperken tot bepaalde formuliervelden die eerder ingevoerde gegevens bevatten. Het attribuut wordt gebruikt zonder een waarde op te geven -
.
formulier
in hetzelfde document. Geeft een of meer vormen aan waartoe het behoort deze groep elementen. Op op dit moment attribuut wordt door geen enkele browser ondersteund.
naam Definieert Naam, dat wordt gebruikt om naar elementen in JavaScript te verwijzen, of om naar formuliergegevens te verwijzen nadat het formulier is ingevuld en verzonden. Het is analoog aan het id-attribuut.

3. Maak formuliervelden

Element creëert de meeste formuliervelden. De attributen van een element verschillen afhankelijk van het type veld waarmee het element wordt gemaakt.

Met behulp van CSS-stijlen kunt u de lettergrootte, het lettertype, de kleur en andere teksteigenschappen wijzigen, en ook randen, achtergrondkleur en achtergrondafbeelding. De breedte van het veld wordt gespecificeerd door de breedte-eigenschap.

Tabel 3. Tagattributen
Attribuut Betekenis/beschrijving
accepteren Bepaalt welk type bestand naar de server mag worden verzonden. Alleen aangegeven voor . Mogelijke waarden:
bestandsextensie - maakt het downloaden van bestanden mogelijk gespecificeerde extensie, bijvoorbeeld accept=".gif" , accept=".pdf" , accept=".doc"
audio/* - maakt het downloaden van audiobestanden mogelijk
video/* - maakt het downloaden van videobestanden mogelijk
image/* - staat het laden van afbeeldingen toe
media_type - geeft het mediatype van de gedownloade bestanden aan.
alt Definieert alternatieve tekst voor afbeeldingen, alleen aangegeven voor .
automatisch aanvullen Verantwoordelijk voor het onthouden van de waarden die in het tekstveld zijn ingevoerd en het automatisch vervangen ervan de volgende keer dat u invoert:
aan - betekent dat het veld niet beveiligd is en dat de waarde ervan kan worden opgeslagen en opgehaald,
off - schakelt automatisch invullen voor formuliervelden uit.
autofocus Hiermee kunt u ervoor zorgen dat in het geladen formulier een of ander invoerveld al focus heeft (geselecteerd is), klaar om een ​​waarde in te voeren.
gecontroleerd Het attribuut controleert of het standaard selectievakje is aangevinkt bij het laden van de pagina voor velden als type="checkbox" en type="radio" .
gehandicapt
formulier De attribuutwaarde moet gelijk zijn aan het id-attribuut van het element in hetzelfde document. Identificeert een of meer formulieren waartoe dit formulierveld behoort.
formatie Stelt in bestands-URL, die de gegevens verwerkt die in de velden zijn ingevoerd wanneer het formulier wordt verzonden. Alleen ingesteld voor de velden type="submit" en type="image" . Het attribuut overschrijft de waarde van het action attribuut van het formulier zelf.
vormtype Bepaalt hoe formulierveldgegevens worden gecodeerd wanneer ze naar de server worden verzonden. Overschrijft de waarde van het enctype-attribuut van het formulier. Alleen ingesteld voor de velden type="submit" en type="image" . Opties:
application/-x-www-form-urlencoded is de standaardwaarde. Alle tekens worden gecodeerd voordat ze worden verzonden (spaties worden vervangen door het +-teken, speciale tekens worden geconverteerd naar ASCII HEX-waarden)
multipart/form-data - tekens worden niet gecodeerd
tekst/plain - spaties worden vervangen door het + symbool, en speciale tekens worden niet gecodeerd.
vormmethode Het attribuut specificeert de methode die de browser zal gebruiken om formuliergegevens naar de server te verzenden. Alleen ingesteld voor de velden type="submit" en type="image" . Overschrijft de waarde van het methodekenmerk van het formulier. Opties:
get is de standaardwaarde. De gegevens uit het formulier (naam/waarde-paar) worden aan de url toegevoegd en naar de server verzonden: URL?naam=waarde&naam=waarde
postformuliergegevens worden verzonden als een http-verzoek.
vorm niet valideren Specificeert dat formulierveldgegevens niet moeten worden gevalideerd wanneer het formulier wordt verzonden. Overschrijft de waarde van het novalidate-attribuut van het formulier. Kan worden gebruikt zonder een attribuutwaarde op te geven.
vormdoel Bepaalt waar het ontvangen antwoord na het indienen van het formulier moet worden weergegeven. Alleen ingesteld voor de velden type="submit" en type="image" . Overschrijft de waarde doel attribuut vormen.


_parent – ​​laadt het antwoord in het bovenliggende frame
_top – laadt het antwoord op volledig scherm
framenaam – laadt het antwoord in een frame met de opgegeven naam.
hoogte De attribuutwaarde bevat het aantal pixels zonder een maateenheid op te geven. Stelt de hoogte in van een formulierveld van het type type="image" , bijvoorbeeld . Het wordt aanbevolen om zowel de hoogte als de breedte van het veld tegelijkertijd in te stellen.
lijst Is een verwijzing naar een element , bevat de id . Hiermee kunt u de gebruiker verschillende opties bieden waaruit hij kan kiezen wanneer hij een waarde in het overeenkomstige veld begint in te voeren.
maximaal Hiermee kunt u aanvaardbare numerieke gegevensinvoer beperken maximale waarde, kan de attribuutwaarde een geheel getal of bevatten fractioneel getal. Het wordt aanbevolen om dit attribuut te gebruiken in combinatie met het min-attribuut. Werkt met de volgende veldtypen: getal, bereik, datum, datetime, datetime-local, maand, tijd en week.
maximale lengte Het attribuut specificeert maximale hoeveelheid tekens die in het veld zijn ingevoerd. De standaardwaarde is 524288 tekens.
min Hiermee kunt u de toegestane numerieke invoer beperken tot een minimumwaarde.
meerdere Hiermee kan de gebruiker meerdere attribuutwaarden invoeren, gescheiden door een komma. Geldt voor bestanden en e-mailadressen. Opgegeven zonder attribuutwaarde.
naam Specificeert de naam die wordt gebruikt om toegang te krijgen tot het element , bijvoorbeeld in CSS-stijlbladen. Het is analoog aan het id-attribuut.
patroon Hiermee kunt u het gebruik bepalen reguliere expressie de syntaxis van de gegevens die in een bepaald veld mogen worden ingevoerd. Bijvoorbeeld patroon="(3)-(3)" — vierkante haakjes stel het bereik van geldige tekens in, in in dit geval- elk kleine letters, nummer in krullende beugels geeft aan dat er drie kleine letters nodig zijn, gevolgd door een liggend streepje en vervolgens drie cijfers van 0 tot 9.
tijdelijke aanduiding Bevat de tekst die in het invoerveld wordt weergegeven voordat deze wordt ingevuld (meestal is dit tooltip).
alleen-lezen Staat de gebruiker niet toe de waarden van formulierelementen te wijzigen; het selecteren en kopiëren van tekst is nog steeds beschikbaar. Opgegeven zonder attribuutwaarde.
vereist Geeft een bericht weer dat aangeeft dat dit veld verplicht is. Als de gebruiker het formulier probeert te verzenden zonder de vereiste waarde in dit veld in te voeren, wordt er een waarschuwingsbericht op het scherm weergegeven. Opgegeven zonder attribuutwaarde.
maat Stelt de zichtbare breedte van het veld in tekens in. De standaardwaarde is 20. Werkt met de volgende veldtypen: tekst, zoeken, tel, url, e-mail en wachtwoord.
src Specificeert de URL van de afbeelding die wordt gebruikt als de knop voor het verzenden van het formulier. Alleen aangegeven voor het veld .
stap Wordt gebruikt voor elementen waarvoor numerieke waarden moeten worden ingevoerd. Geeft de hoeveelheid aan waarmee de waarden moeten worden verhoogd of verlaagd tijdens het bereikaanpassingsproces (stap).
type knop - maakt een knop.
checkbox - verandert een invoerveld in een selectievakje dat kan worden aangevinkt of gewist, b.v.
Ik heb een auto
kleur - Genereert kleurenpaletten in ondersteunende browsers, waardoor gebruikers kleurwaarden in hexadecimaal formaat kunnen selecteren.
datum — hiermee kunt u een datum invoeren in de notatie dd.mm.jjjj.
Verjaardag:
datetime-local - hiermee kunt u een datum en tijd invoeren, gescheiden door hoofdletters Engelse brief T volgens het patroon dd.mm.jjjj uu:mm.
Verjaardag - dag en tijd:
e-mail - Browsers die dit kenmerk ondersteunen, verwachten van de gebruiker dat hij gegevens invoert die overeenkomen met de syntaxis van e-mailadressen.
E-mail:
bestand - hiermee kunt u bestanden downloaden van de computer van de gebruiker.
Selecteer bestand:
verborgen - Verbergt het besturingselement, dat niet door de browser wordt weergegeven en voorkomt dat de gebruiker de standaardwaarden wijzigt.
afbeelding - maakt een knop, zodat u een afbeelding in plaats van tekst op de knop kunt invoegen.
maand - Hiermee kan de gebruiker het jaar- en maandnummer invoeren met behulp van het jjjj-mm-patroon.
getal - bedoeld voor het invoeren van gehele waarden. De min , max en step attributen specificeren respectievelijk de boven-, onder- en stap tussen waarden. Deze attributen worden aangenomen voor alle elementen die numerieke indicatoren hebben. Hun standaardwaarden zijn afhankelijk van het elementtype.
Geef het aantal aan (van 1 tot 5):
wachtwoord - maakt tekstvelden in het formulier, terwijl de door de gebruiker ingevoerde tekens worden vervangen door sterretjes, opsommingstekens of andere, geïnstalleerd via browser pictogrammen.
Wachtwoord invoeren:
radio - creëert een schakelaar - een bediening in de vorm van een kleine cirkel die kan worden in- of uitgeschakeld.
Vegetarisch:
bereik - hiermee kunt u een interface-element maken, zoals een schuifregelaar, min / max - hiermee kunt u het selectiebereik instellen
reset - creëert een knop die formuliervelden wist met door de gebruiker ingevoerde gegevens.
zoeken - geeft een zoekveld aan, het invoerveld is standaard rechthoekig van vorm.
Zoekopdracht:
indienen - maakt standaard knop, geactiveerd door een muisklik. De knop verzamelt informatie uit het formulier en verzendt deze voor verwerking.
tekst - Creëert tekstvelden op een formulier, waarbij een tekstveld van één regel wordt uitgevoerd voor tekstinvoer.
tijd - hiermee kunt u de tijd invoeren in 24-uursnotatie met behulp van het uu:mm-patroon. In ondersteunende browsers verschijnt het als een numeriek invoerveldbesturingselement met een door de muis bewerkbare waarde en kunnen alleen tijdwaarden worden ingevoerd.
Geef tijd op:
url: het veld is bedoeld voor het opgeven van URL's.
Startpagina:
week - Met het bijbehorende aanwijzerhulpmiddel kan de gebruiker één week van het jaar selecteren, waarna gegevensinvoer in nn-jjjj-formaat wordt aangeboden. Afhankelijk van het jaar kan het aantal weken 52 of 53 zijn.
Specificeer week:
waarde Bepaalt de tekst die op een knop, in een veld of in bijbehorende tekst verschijnt. Niet gespecificeerd voor velden van het type bestand.
breedte De attribuutwaarde bevat het aantal pixels. Hiermee kunt u de breedte van de formuliervelden instellen.

4. Tekstinvoervelden

Element gebruikt in plaats van element wanneer u grote tekstvelden moet maken. Tekst weergegeven als oorspronkelijke waarde, wordt in de tag geplaatst. De veldafmetingen worden ingesteld met behulp van de attributen cols - horizontale afmetingen, rijen - verticale afmetingen. De hoogte van het veld kan worden ingesteld met behulp van de eigenschap height. Alle formaten worden berekend op basis van de grootte van één teken in een monospace-lettertype.

Tabel 4. Tagattributen

7. Knoppen

Element creëert klikbare knoppen. In tegenstelling tot knoppen gemaakt ( , , , ), binnen het element .

Met knoppen kunnen gebruikers gegevens in een formulier indienen, de inhoud van het formulier wissen of een andere actie ondernemen. U kunt randen maken, de achtergrond wijzigen en tekst op een knop uitlijnen.

Tabel 9. Tagattributen
Attribuut Betekenis/beschrijving
autofocus Stelt de focus in op de knop wanneer de pagina wordt geladen.
gehandicapt Schakelt de knop uit, waardoor deze niet meer te klikken is.
formulier Geeft een of meerdere formulieren aan waartoe deze knop behoort. De attribuutwaarde is de identificatie van het overeenkomstige formulier.
formatie De attribuutwaarde bevat de URL van de formuliergegevenshandler die wordt verzonden wanneer op de knop wordt geklikt. Alleen voor knoptype type="submit" . Overschrijft de waarde van het actiekenmerk dat voor het element is opgegeven .
vormtype Stelt het coderingstype van formuliergegevens in voordat deze naar de server worden verzonden wanneer op knoppen als type="submit" wordt geklikt. Overschrijft de waarde van het enctype-attribuut dat voor het element is opgegeven . Mogelijke waarden:
application/x-www-form-urlencoded is de standaardwaarde. Alle tekens worden gecodeerd voordat ze worden verzonden.
multipart/form-data - tekens worden niet gecodeerd. Wordt gebruikt wanneer bestanden worden geüpload via een formulier.
tekst/plain - tekens worden niet gecodeerd en spaties worden vervangen door het +-symbool.
vormmethode Het attribuut specificeert de methode die de browser zal gebruiken om het formulier te verzenden. Overschrijft de waarde van het method-attribuut dat voor het element is opgegeven . Alleen gespecificeerd voor knoppen van het type type=‘submit’. Mogelijke waarden:
get - gegevens uit het formulier (naam/waarde-paar) worden aan de URL toegevoegd en naar de server verzonden. Deze methode heeft beperkingen op de grootte van de verzonden gegevens en is niet geschikt voor het verzenden van wachtwoorden en vertrouwelijke informatie.
post - gegevens uit het formulier worden toegevoegd als een http-verzoek. De methode is betrouwbaarder en veiliger dan get en kent geen beperkingen qua grootte.
vorm niet valideren Het attribuut geeft aan dat formuliergegevens bij indiening niet gevalideerd mogen worden. Alleen gespecificeerd voor knoppen van het type type=‘submit’.
vormdoel Het attribuut geeft aan in welk venster het resultaat wordt weergegeven na het indienen van het formulier. Alleen gespecificeerd voor knoppen van het type type=‘submit’. Overschrijft de waarde van het doelkenmerk dat voor het element is opgegeven .
_blank - laadt het antwoord in een nieuw venster/tabblad
_self - laadt het antwoord in hetzelfde venster (standaard)
_parent - laadt het antwoord in het bovenliggende frame
_top - laadt het antwoord op volledig scherm
framenaam - laadt het antwoord in een frame met de opgegeven naam.
naam Stelt de naam van de knop in, de attribuutwaarde is tekst. Wordt gebruikt om te linken naar formuliergegevens nadat het formulier is verzonden, of om te linken naar bepaalde knop(pen) in JavaScript.
type Definieert het knoptype. Mogelijke waarden:
knop - klikbare knop
reset - resetknop, keert terug oorspronkelijke betekenis
indienen - knop voor het indienen van formuliergegevens.
waarde Stelt de standaardwaarde in die wordt verzonden wanneer op de knop wordt geklikt.

8. Selectievakjes en keuzerondjes in formulieren

Selectievakjes in formulieren worden ingesteld met behulp van de constructie , en de schakelaar - gebruikt .

Selectievakjes kunnen, in tegenstelling tot keuzerondjes, op meerdere in één formulier worden ingesteld. Als het aangevinkte attribuut is opgegeven voor selectievakjes, zullen de selectievakjes in de overeenkomstige formuliervelden al zijn geselecteerd wanneer de pagina wordt geladen.

Element

CSS biedt de webontwikkelaar enorme mogelijkheden voor het ontwerpen van HTML-pagina's. Ze zullen voor een beginner ingewikkeld lijken, maar als je ze zorgvuldig en methodisch begrijpt, zal de stylesheet-technologie overwonnen worden en zal de lay-out van de website niet langer voor problemen zorgen. Een van de onvervangbare eigenschappen van CSS - opvulling. Het wordt gebruikt om de velden van blokken van HTML-pagina's in te stellen.

Wat zijn blokken?

De site is opgebouwd uit bakstenen - blokken. Bovendien moet elk element, ongeacht de inhoud, een rechthoekige vorm hebben. Dat wil zeggen, alle afbeeldingen en inscripties worden door de ontwikkelaar mentaal ingesloten in "vakken", door te regelen dat hij een webpagina maakt.

Meestal worden blokken gespecificeerd door tags

,

-

,
. Voor elk dergelijk element geldt CSS-eigenschappen: opvulling, marge, grens, breedte en anderen. De breedte van het rechthoekige blok wordt gespecificeerd door de eigenschap breedte, vervolgens wordt elk element versierd met velden die zijn afgebakend met behulp van het attribuut grens. Ten slotte kan een paginacomponent externe marges of opvulling hebben: marge, waardoor het wordt gescheiden van een ander blok.

Syntaxis van CSS-opvullingseigenschappen

De makers van Cascading Style Sheets hebben verschillende opties geboden voor het schrijven van een attribuut om velden in te stellen. Je kunt met acht een leeg gebied binnen een blok maken op verschillende manieren! In onderstaande tabel staan ​​voorbeelden per optie en wordt deze kort toegelicht.

Gebruiksvoorbeeld

Uitleg

vulling: 15px;

Als het attribuut wordt gevolgd door een enkel getal, betekent dit dat het element aan alle zijden gelijke marges heeft. Dossier px gaat ervan uit dat de waarde is opgegeven in pixels. Dat wil zeggen dat het blok uiteindelijk velden van 15 pixels zal hebben.

vulling: 1836px;

De eerste van de twee cijfers geeft aan dat de verticale marges 18 pixels zullen zijn, de zijmarges zullen twee keer zo groot zijn: 36 pixels.

vulling: 6px 12px 18px;

Het middelste getal is de waarde van de marges aan de zijkanten (links en rechts), de andere twee zijn de verticale marges. In dit geval verwijst het eerste getal (6 px) naar de bovenmarge en het laatste (18 px) naar de onderste.

opvulling: 6 px 12 px 18 px 36 px;

CSS-eigenschapsrecordformulier opvulling, dat vier cijfers bevat, stelt u in staat marges aan alle zijden van het blok in te stellen. Numerieke waarden worden opeenvolgend toegepast op de bovenmarge en vervolgens met de klok mee naar rechts, onder en links.

opvulling links: 14 px;

Naschrift links spreekt voor zich: de marge wordt alleen links van het element ingesteld.

opvulling rechts: 14 px;

Vergelijkbaar met de vorige opnameoptie: het veld wordt alleen aan de rechterkant van het blok gemaakt.

opvulling bovenaan: 14 px;

De invoer definieert het veld bovenaan.

opvulling-bodem: 14 px;

De invoer definieert het onderstaande veld.

Opgemerkt moet worden dat de standaardopvulling in CSS nul is. Dit attribuut is niet erfelijk, wat betekent dat het voor elk blok moet worden geïnstalleerd. Naast de gebruikelijke en begrijpelijke pixels wordt ook de breedte van de lege ruimte rond de blokken gespecificeerd relatieve eenheden. In de bovenstaande voorbeelden kunt u bijvoorbeeld 5% schrijven, waardoor de breedte van het veld automatisch door de browser wordt berekend.

Hoe het pand gebruiken?

We hebben dus de formulieren voor het schrijven van een attribuut besproken, maar hoe gebruik je dit op een HTML-pagina? De eerste optie is “mooier”, als alles erop aankomt CSS-technologieën, is niet in HTML geschreven, maar erin geplaatst apart bestand met de juiste extensie.

De tweede optie is om rechtstreeks naar de tag te schrijven<stijl>. CSS opvulling in dit geval wordt het als volgt gespecificeerd:

< divstijl = "vulling: 22px">

De lay-outontwerper kiest hoe het attribuut wordt geschreven. In ieder geval moet u alle manieren kennen om de eigenschap te gebruiken om velden te definiëren, zodat u deze indien nodig kunt gebruiken.

Blokken in CSS vertegenwoordigen onafhankelijk voorwerp, met de vorm van een rechthoek. Alle HTML-elementen- documenten vertegenwoordigen onafhankelijke blokken, die elke vorm van informatie bevatten, of het nu tekst of afbeelding (inhoud) is. Bijvoorbeeld: voor een element is de blokinhoud tekst en voor een element -tekst.

Rond de inhoud, in het blok, kunnen zich lege, onbezette velden bevinden (vulling), wat de inhoud van het blok overigens een aantrekkelijker uiterlijk geeft. Direct voorbij de velden ligt de blokgrens (grens), die een bepaalde dikte, kleur en stijl kunnen hebben. Het blok kan inkepingen hebben (marge) die. vrije ruimte rond de grenzen. Marges, randen en opvulling zijn niet inbegrepen in de breedte van het blok; de breedte wordt alleen ingesteld voor de inhoud ervan.

Velden. Eigenschappen MARGE-TOP, MARGE-RECHTS,
MARGE-ONDER, MARGE-LINKS

Deze eigenschappen bepalen de grootte van de marges rond het blok; waarden worden gespecificeerd in lengte-eenheden of percentages:

  • marge-top- geeft de breedte van de bovenmarge aan;
  • marge-rechts- geeft de breedte van de rechtermarge aan;
  • marge-bodem- geeft de breedte van de ondermarge aan;
  • marge-links- geeft de breedte van de linkermarge aan.

Een voorbeeldregel voor een alinea met marges van 25 px aan de rechter- en linkerkant zou er als volgt uitzien:

P(
marge bovenaan: 0px;
marge-rechts: 25px;
marge-onder: 0px;
marge-links: 25px;
}

MARGE eigendom

Deze eigenschap is een afkorting, die wordt gebruikt om de hierboven genoemde eigenschappen af ​​te korten. Eigendom marge kan een aantal waarden hebben van één tot vier:

  • als er slechts één is opgegeven, zijn de marges aan alle zijden van het blok hetzelfde;
  • als er twee waarden worden gegeven, geeft de eerste de velden boven en onder aan, de tweede - naar rechts en links (de waarden van elk paar zijn gelijk);
  • als er drie waarden worden gegeven, geeft de eerste de bovenmarge aan, de tweede - links en rechts, de derde - onderkant;
  • als alle vier de waarden worden gegeven, dan is de eerste de bovenkant, dan de rechtermarge, dan de onderkant en de laatste de linkerkant.
We schrijven de regel:

p (marge: 15px 5px 20px )

In dit voorbeeld is de bovenmarge van de alinea 15px, de rechter- en linkermarge 5px elk, de ondermarge is 20px.

Grenzen. Eigenschappen BORDER-BOVEN-BREEDTE, BORDER-RECHTS-BREEDTE, BORDER-ONDER-BREEDTE, BORDER-LINKS-BREEDTE

Bij CSS-hulp U kunt de tekst van een alinea in een kader plaatsen, zoals dit bijvoorbeeld op de pagina's van de site gebeurt in de vorm van voorbeelden. Deze eigenschappen bepalen alleen de dikte van de blokranden voor de bovenste, rechter, onderste en linker segmenten. Waarden kunnen worden gespecificeerd met behulp van trefwoorden:

  • dun- dun;
  • medium- gemiddelde dikte (standaard gebruikt);
  • dik- dik.

Waarden kunnen ook in willekeurige lengte-eenheden worden opgegeven; percentagewaarden zijn niet gespecificeerd. De regel kan als volgt worden geschreven:

P(
rand-boven-breedte: 1px;
rand-rechts-breedte: 2px;
rand-onder-breedte: medium;
rand-links-breedte: dun;
}

BORDER-WIDTH eigenschap

Dit is een verkorte eigenschap, waarden worden op dezelfde manier ingesteld als de eigenschap. De onderstaande regel komt overeen met het hierboven geschreven voorbeeld:

p (randbreedte: 1px 2px medium dun)

BORDER-COLOR eigenschap

Deze eigenschap is ook een afkorting, deze wordt gebruikt om de grenzen van het blok in te stellen, de waarden zijn:

  • trefwoord (rood, geel, zwart, blauw, etc.);
  • hexadecimale kleurcode (00FFFF, 000000, FFFFFF, enz.);
  • decimale code naar RGB (kleur: rgb (120, 25, 182));
  • transparant- transparante rand.

Als je moet instellen verschillende kleuren elk van de vier grenzen, dan zijn de volgende eigenschappen van toepassing:

  • rand-top-kleur- kleur van de bovenrand;
  • rand-rechts-kleur- rechterrandkleur;
  • rand-onder-kleur- kleur van de onderrand;
  • grens-links-kleur- linkerrandkleur.

De regel voor een dergelijk voorbeeld zou er als volgt uitzien:

P(
rand-top-kleur: blauw;
rand-rechts-kleur: 000000;
rand-onder-kleur: FF0000;
rand-links-kleur: rgb (25, 125, 205);
}

BORDER-STIJL eigendom

De eigenschap is een afkorting en specificeert het type lijnen dat de grenzen van het blok vormt. Voor de taak verschillende soorten lijnen, voor blokgrenzen worden individuele eigenschappen gebruikt:

  • rand-top-stijl- type lijn van de bovenrand;
  • border-right-stijl- rechterrandlijntype;
  • rand-onder-stijl- type lijn van de onderrand;
  • border-links-stijl- linkergrenslijntype.

Eigenschapswaarden zijn trefwoorden:

  • geen- geen rand (standaard gebruikt);
  • gestippeld- de rand wordt gevormd door een lijn bestaande uit stippen;
  • gestormd- stippellijn;
  • stevig- ononderbroken lijn;
  • dubbele- dubbele ononderbroken lijn;
  • groef- de rand wordt weergegeven als een “ingedrukte” lijn (simuleert het volume);
  • nok- de rand wordt weergegeven als een “convexe” lijn;
  • inzet- de rand wordt zo weergegeven dat het hele blok er depressief uitziet;
  • begin- het hele blok ziet er bol uit.

Laten we naar voorbeelden kijken:









Korte eigendom rand-stijl Hiermee kunt u de stijlwaarden voor alle vier de randsegmenten inkorten, op dezelfde manier ingesteld als voor de . We schrijven een regel voor een blok met randen gemaakt door een stippellijn:

p (randstijl: gestippeld)

Eigenschappen BORDER-BOVEN, BORDER-RIGHT, BORDER-BOTTOM, BORDER-LINKS

Dit zijn verkorte eigenschappen waarmee u de waarden van eigenschappen kunt afkorten grensbreedte, rand-stijl En randkleur, kijk naar het voorbeeld:

P(
rand bovenaan: 1px effen rood;
rand-rechts: 3px effen rood;
rand-onder: 1px effen rood;
border-left: 3px effen rood
}

De randen van de alinea zijn rood, gemaakt met een ononderbroken lijn. De randdikte aan de boven- en onderkant is 1px, rechts en links - 3px.

GRENS eigendom

Deze eigenschap is een afkorting en wordt gebruikt om parameters in te stellen voor alle vier randsegmenten: breedte, kleur en stijl. Laten we een voorbeeldregel schrijven:

p (rand: 1px effen blauw)

De rand rond deze paragraaf zal aan alle kanten hetzelfde zijn, getekend met een ononderbroken lijn blauw 1px dik.

Inspringingen. Eigenschappen PADDING-TOP, PADDING-RECHTS,
PADDING-ONDER, PADDING-LINKS

Met deze eigenschappen kunt u de inspringgroottes voor elke zijde afzonderlijk instellen; de waarden worden opgegeven in lengte-eenheden of als een percentage:

  • opvulling-top- breedte van de bovenmarge;
  • opvulling-rechts- breedte van de rechtermarge;
  • opvulling-bodem- breedte van de ondermarge;
  • opvulling-links- breedte van de linkermarge.

PADDING eigendom

Dit is een verkorte eigenschap die wordt gebruikt om de hierboven beschreven eigenschappen in te korten. Eigendom opvulling kan één tot vier waarden hebben, die op dezelfde manier worden toegewezen als voor (marges) en (grenzen). Laten we deze regel schrijven:

P(
achtergrondkleur: wit;
rand: 2px blauw gestippeld;
opvulling: 10px 25px
}

Laten we aan de hand van het voorbeeld van de resulterende alinea kijken hoe inspringingen werken:

De positie waarin de site zich bevindt, is afhankelijk van hoe geoptimaliseerd de site is. zoekmachines zal het in de zoekresultaten weergeven. Hoe hoger deze positie, hoe meer bezoekers u ontvangt van zoekmachines. Een belangrijke stap Optimalisatie is het vullen van de site met hoogwaardige, unieke inhoud. Het is niet nodig om interessante artikelen over uw onderwerp uit andere bronnen te kopiëren of te herhalen wat al beschikbaar is op het World Wide Web.

Op dit punt geloof ik dat de eerste kennismaking met trapsgewijze tafels CSS-stijlen Je kunt het zelf afmaken en beginnen. Deze kennis is voldoende om te beginnen, dus ga je gang en verover de uitgestrektheid van hyperspace.


Waar je geen website zonder kunt maken: ∼ ∼ Veel mensen zijn geïnteresseerd in:

In dit artikel vertel ik je graag hoe je deze correct plaatst velden(vulling) en inkeping(marge) in CSS.

Laten we allereerst de definitie van marges en opvulling onthouden volgens de W3C-specificatie. In het doosmodel zijn de marges de afstand tussen de inhoud en de rand van de doos. En opvulling is de afstand tussen de rand van een blok en de rand van een aangrenzend of bovenliggend element.

Als de rand en achtergrond van het element dus niet zijn gespecificeerd, is er geen verschil. Gebruik de eigenschap opvulling of marge om de inspringingen in te stellen, maar op voorwaarde dat de breedte (breedte) en hoogte (hoogte) van het element niet zijn gespecificeerd en het algoritme voor het berekenen van inhoudsgroottes met behulp van box-sizing-eigenschappen.

Houd er in ieder geval rekening mee dat marges wel of niet meegenomen kunnen worden in de breedte of hoogte van het element. Inspringingen worden altijd buiten het element geplaatst.

Laten we nu eens kijken hoe we de marges en de ruimte tussen de elementen correct kunnen plaatsen. Laten we het volgende blok als voorbeeld nemen.

Dit is het nieuwsblok. Het bestaat uit een titel, een lijst met nieuws en een link 'Meer nieuws'. Laten we ze de volgende klassennamen geven: news__title, news__list en news__more-link.

Nieuws

Omdat elk van deze elementen dezelfde linker- en rechtermarge heeft, is het beter om de marges in te stellen op het bovenliggende blok in plaats van de linker- en rechtermarge voor elk element afzonderlijk in te stellen.

Nieuws (opvulling: 20px 25px; )

Als u dus de waarde van de velden rechts en links moet wijzigen, moet u dit doen op één plek. En als je een nieuw element toevoegt aan het nieuwsblok, zal dat al het geval zijn vereiste streepjes links en rechts.

Het komt vaak voor dat alle elementen binnen een blok links en rechts dezelfde opvulling hebben, behalve één element, dat bijvoorbeeld vanwege de achtergrond helemaal geen opvulling zou moeten hebben. In dit geval kunt u een negatieve opvulling voor het element instellen. Dan hoef je voor andere elementen geen velden binnen het blok te verwijderen.

Nu moet u de verticale marges tussen elementen instellen. Om dit te doen, moet u bepalen welke van de elementen dat is verplicht. Uiteraard kan een nieuwsblok niet bestaan ​​zonder een nieuwslijst; tegelijkertijd mag er geen “Ander nieuws”-link zijn; deze kan bijvoorbeeld ook worden verwijderd als het ontwerp wordt gewijzigd.

Hiermee rekening houdend, hebben we de inspringing onderaan ingesteld voor de titel, en de inspringing bovenaan voor de link ‘Ander nieuws’.

Nieuws__titel ( marge-onder: 10px; ) .nieuws__meer-link ( marge-boven: 12px; )

We zouden hetzelfde externe resultaat kunnen bereiken door opvulling aan de boven- en onderkant van de nieuwslijst toe te voegen.

Nieuws__lijst ( marge: 10px 0 12px 0; )

Nu moet u de inspringingen tussen afzonderlijke nieuwsitems instellen. Houd er wederom rekening mee dat het aantal nieuwsberichten kan variëren en dat er slechts één nieuwsbericht vermeld staat.

U kunt een bovenste inspringing instellen voor elk nieuws behalve het eerste, of een onderste inspringing voor elk nieuws behalve het laatste. De eerste optie verdient de voorkeur omdat de:first-child pseudo-selector is toegevoegd in de CSS 2.1-specificatie en bredere ondersteuning heeft, in tegenstelling tot de:last-child pseudo-selector, die alleen is toegevoegd in de CSS 3.0-specificatie.

Nieuws__lijst-item ( marge-top: 18px; ) .news__list-item:eerste-kind ( marge-top: 0; )

Door de juiste plaatsing van marges en inspringingen kunt u dus flexibel het uiterlijk van elk blok wijzigen zonder wijzigingen aan te brengen in de stijlen en zonder het ontwerp te verstoren. Het belangrijkste is om te bepalen welke blokelementen de belangrijkste zijn ( verplicht), en welke optioneel.

Soms kunnen we er niet op vertrouwen vereiste elementen. We hebben bijvoorbeeld een pop-upvenster waarin een titel en tekst kunnen worden weergegeven. Bovendien is er in sommige gevallen mogelijk geen tekst, en in sommige gevallen is er mogelijk geen titel. Dat wil zeggen dat beide elementen optioneel zijn.

In dit geval kunt u gebruik maken van volgende manier inspringingsopdrachten.

Popup__header + .popup__text ( marge bovenaan: 15px; )

Dan verschijnt de inspringing alleen als beide elementen worden gebruikt. In het geval dat alleen de titel of alleen de tekst wordt weergegeven, zal er geen extra inspringing plaatsvinden.

Instortende verticale marges

Een andere nuance die niet iedereen kent, heeft betrekking op de verticale ruimtes tussen aangrenzende blokken. De definitie van inspringen die ik hierboven gaf, zegt dat inspringen de afstand tussen twee is grenzen huidige en aangrenzende blokken. Als we dus twee blokken onder elkaar plaatsen en één ervan een ondermarge van 30 px geven en de andere een bovenmarge van 20 px, zal de marge ertussen niet 50 px zijn, maar 30 px.

Dat wil zeggen dat de inkepingen elkaar zullen overlappen en dat de inkeping tussen de blokken gelijk zal zijn aan grootste inkeping, en niet de hoeveelheid inspringing. Dit effect wordt ook wel ‘instorting’ genoemd.

Houd er rekening mee dat horizontale vulling, in tegenstelling tot verticale, ‘storten’ niet in, maar worden samengevat. Ook de velden (padding) worden opgeteld.

Omdat we weten wat het inspringen van inspringingen is, kunnen we deze functie in ons voordeel gebruiken. Als we bijvoorbeeld de koppen en tekst in een artikel moeten laten inspringen, dan stellen we voor de kop van het eerste niveau de onderste inspringing in op 20px, en voor de kop van het tweede niveau is de bovenste inspringing 20px en de onderste 10px, en voor voor alle paragrafen stellen we de bovenste inspringing in op 10px.

H1 ( marge-onder: 24px; ) h2 ( marge-boven: 24px; marge-onder: 12px; ) p ( marge-boven: 12px; )

Nu kan de h2-kop na de h1-kop of na de paragraaf worden geplaatst. In ieder geval zal de bovenmarge niet groter zijn dan 24px.

Algemene regels

Samenvattend wil ik graag de regels opsommen die ik volg bij het rangschikken van marges en inspringingen.

  1. Als aangrenzende elementen dezelfde marges hebben, is het beter om ze in te stellen op de bovenliggende container in plaats van op de elementen.
  2. Wanneer u inspringingen tussen elementen instelt, moet u overwegen of het element verplicht of optioneel is.
  3. Voor een lijst met vergelijkbare elementen moet u er rekening mee houden dat het aantal elementen kan variëren.
  4. Houd rekening met verticale opvulling en gebruik deze functie waar u er baat bij heeft.

Tags: tags toevoegen