Rahmenfarbe ändern – C#-Beispiele
In diesem Artikel werden wir anhand von C#-Beispielen verschiedene Möglichkeiten aufzeigen, wie man die Rahmenfarbe in HTML-Dateien mithilfe der Aspose.HTML for .NET-Bibliothek festlegen oder ändern kann.
Die Farbe des Rahmens eines HTML-Elements lässt sich mit der CSS-Eigenschaft “border-color” einfach einstellen oder ändern. Es gibt mehrere Möglichkeiten, den Wert dieser Eigenschaft zu setzen. Sie können Inline, internes oder externes CSS verwenden, und HTML-Farbwerte können als Standard-Farbnamen oder mit HEX-, RGB-, RGBA-, HSL- und HSLA-Werten angegeben werden.
Weitere Informationen über die Verwendung von HTML-Farbcodes finden Sie in dem Artikel HTML-Farbcodes. Im Abschnitt Rahmenfarbe finden Sie HTML-Code-Beispiele, wie Sie die Rahmenfarbe ändern können.
Farbe des Rahmens mit Inline-CSS ändern
Sie können die Farbe des Rahmens mit dem Inline-Attribut style
einstellen oder ändern – Inline-CSS. Die Eigenschaft border-color
funktioniert nur, wenn die Eigenschaft border-style
zuerst definiert wird, die zum Einstellen der Ränder verwendet wird. Diese Eigenschaft funktioniert nicht allein. Wenn diese Eigenschaft nicht gesetzt ist, erbt sie die Farbe des Elements. Die Eigenschaft border-color
akzeptiert Farbnamen, RGB-, RGBA-, HEX-, HSL- oder HSLA-Werte.
Um die Farbe des Rahmens eines HTML-Elements mit der Aspose.HTML API zu ändern, sollten Sie einige Schritte befolgen:
- Laden Sie eine bestehende HTML-Datei.
- Erstellen Sie eine Instanz eines HTML-Dokuments.
- Bestimmen Sie das Element, für das Sie die Rahmenfarbe ändern möchten, und suchen Sie dieses Element, um ein Stilattribut dafür zu setzen. Verwenden Sie die Methode
GetElementsByTagName(
name
) der Klasse Element, die HTML-Elemente mit einem bestimmten Tag-Namen zurückgibt. - Setzen Sie das
style
-Attribut mit den Eigenschaftenborder-style
undborder-color
: Verwenden Sie die Style Eigenschaft der HTMLElement Klasse. - Speichern Sie das geänderte HTML-Dokument.
Sie können die Rahmenfarbe für verschiedene HTML-Elemente wie <p>
, <h1>
…<h6>
, <div>
oder <table>
einstellen oder ändern. Das folgende C#-Beispiel zeigt die Änderung der Rahmenfarbe für das <h1>
-Element:
1// Сhange border color for <h1> element using C#
2
3// Prepare an output path for a document saving
4string savePath = Path.Combine(OutputDir, "change-border-color.html");
5
6// Prepare path to source HTML file
7string documentPath = Path.Combine(DataDir, "file.html");
8
9// Create an instance of an HTML document
10HTMLDocument document = new HTMLDocument(documentPath);
11
12// Find the h1 element to set a style attribute
13HTMLElement header = (HTMLElement)document.GetElementsByTagName("h1").First();
14
15// Set the style attribute properties
16header.Style.Color = "#8B0000";
17header.Style.BorderStyle = "solid";
18header.Style.BorderColor = "rgb(220,30,100)";
19
20// Save the HTML document to a file
21document.Save(Path.Combine(savePath));
Es ist zu beachten, dass in diesem С#-Beispiel nicht nur die Rahmenfarbe für das Element <h1>
geändert wurde, sondern auch die Textfarbe für dieses Element (die Eigenschaft color
wurde hinzugefügt).
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.
Farbe für vier Seiten des Randes ändern
Die Eigenschaft border-color
legt die Farbe der vier Ränder eines Elements fest. Wenn die Eigenschaft border-color
einen einzigen Wert hat, dann wird der gesamte Rand mit dieser Farbe gemalt. Sie können jedoch unterschiedliche Farbwerte für den oberen, rechten, unteren und linken Rand festlegen. Wenn Sie zum Beispiel border-color: red blue green gray
einstellen, ist der obere Rand rot, der rechte Rand blau, der untere Rand grün und der linke Rand grau.
1// Set different colors for all four borders of HTML element using C#
2
3// Prepare an output path for a document saving
4string savePath = Path.Combine(OutputDir, "change-four-border-color.html");
5
6// Prepare path to source HTML file
7string documentPath = Path.Combine(DataDir, "change-border-color.html");
8
9// Create an instance of an HTML document
10HTMLDocument document = new HTMLDocument(documentPath);
11
12// Find the h1 element to set a style attribute
13HTMLElement header = (HTMLElement)document.GetElementsByTagName("h1").First();
14
15// Set the style attribute properties
16header.Style.BorderStyle = "solid";
17header.Style.BorderColor = "red blue green gray";
18
19// Save the HTML document to a file
20document.Save(Path.Combine(savePath));
Die Abbildung veranschaulicht die Ergebnisse der Änderung der Rahmenfarbe für das Element <h1>
mit Inline-CSS: a) geänderte Farbe für den gesamten Rahmen; b) geänderte Farbe für jede der vier Seiten des Rahmens.
Randfarbe mit internem CSS ändern
Das gleiche Ergebnis der Randeinfärbung kann mit internem CSS erzielt werden, wie das folgende HTML-Codebeispiel zeigt:
1<head>
2<style>
3 h1 {
4 border-color: rgb(220,30,100);
5 }
6</style>
7</head>
Hinweis: Denken Sie daran, dass die Verwendung eines style
-Attributs jeden im HTML-Tag <style>
oder in einem externen Stylesheet festgelegten Stil außer Kraft setzt.
Das nächste C#-Beispiel zeigt, wie man internes CSS zum Ändern der Rahmenfarbe einsetzt. Gehen Sie ein paar Schritte:
- Laden Sie eine vorhandene HTML-Datei.
- Erstellen Sie eine Instanz eines HTML-Dokuments.
- Erstellen Sie ein
<style>
Element und weisen Sie die Werteborder-style
undborder-color
für das<h1>
Element zu. - Finde das
<head>
Element in deinem Dokument und füge das<style>
Element darin ein. - Speichern Sie das geänderte HTML-Dokument.
1// Add internal CSS to style HTML in C#
2
3// Prepare an output path for a document saving
4string savePath = Path.Combine(OutputDir, "change-border-color-internal-css.html");
5
6// Prepare path to source HTML file
7string documentPath = Path.Combine(DataDir, "file.html");
8
9// Create an instance of an HTML document
10HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create a style element and assign the color border-style and border-color values for h1 element
13Element style = document.CreateElement("style");
14style.TextContent = "h1 {color:DarkRed; border-style:solid; border-color:rgb(220,30,100) }";
15
16// Find the document head element and append style element to the head
17Element head = document.GetElementsByTagName("head").First();
18head.AppendChild(style);
19
20// Save the HTML document to a file
21document.Save(Path.Combine(savePath));
Die Ausführung des С#-Codes, den wir oben angegeben haben, führt dazu, dass das Element <style>
im <head>
der Ausgabedatei erscheint, was durch den folgenden HTML-Code veranschaulicht wird:
1<head>
2<style>
3 h1 {
4 color: darkred;
5 border-top-style: solid;
6 border-right-style: solid;
7 border-bottom-style: solid;
8 border-left-style: solid;
9 border-top-color: rgb(220, 30, 100);
10 border-right-color: rgb(220, 30, 100);
11 border-bottom-color: rgb(220, 30, 100);
12 border-left-color: rgb(220, 30, 100); }
13</style>
14</head>
Das Ergebnis ist ähnlich wie in Abbildung (a) oben dargestellt.
Farbe des Tabellenrandes ändern
Wenn Sie die Farbe des Tabellenrandes ändern möchten, können Sie Inline- oder internes CSS verwenden.
Sie können das Attribut style
mit dem HTML-Element <table>
verwenden. Beachten Sie, dass die Verwendung eines style-Attributs jeden Stil überschreibt, der im HTML-Tag <style>
oder in einem externen Style Sheet festgelegt wurde. Um die Farbe des Tabellenrandes mit Hilfe eines Inline-CSS-Style-Attributs zu ändern, können Sie die Methode
QuerySelector() verwenden, um im DOM zu navigieren und das Element <table>
zu finden. Setzen Sie dann das Style-Attribut mit den erforderlichen Eigenschaften für das Element <table>
:
C# Beispiel 1 – Verwendung von Inline-CSS
1// Change table border color using C#
2
3// Prepare an output path for a document saving
4string savePath = Path.Combine(OutputDir, "change-table-border-color-inline-css.html");
5
6// Prepare path to source HTML file
7string documentPath = Path.Combine(DataDir, "table.html");
8
9// Create an instance of an HTML document
10HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create a CSS Selector that selects the first table element
13Element element = document.QuerySelector("table");
14
15// Set style attribute with properties for the selected element
16element.SetAttribute("style", "border: 2px #0000ff solid");
17
18// Save the HTML document to a file
19document.Save(Path.Combine(savePath));
JavaScript-Code 1
1<script>
2 // Create a CSS Selector that selects the first table element
3 var element = document.querySelector("table");
4
5 // Set style attribute with properties for the selected element
6 element.setAttribute("style", "border: 2px #0000ff solid");
7</script>
Das gleiche Ergebnis bei der Einfärbung von Tabellenrändern kann mit internem CSS erzielt werden, wie im folgenden C#-Codebeispiel 2 gezeigt:
C# Beispiel 2 – Verwendung von internem CSS
1// Change HTML table border color using C#
2
3// Prepare an output path for a document saving
4string savePath = Path.Combine(OutputDir, "change-table-border-color-internal-css.html");
5
6// Prepare path to source HTML file
7string documentPath = Path.Combine(DataDir, "table.html");
8
9// Create an instance of an HTML document
10HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create a style element and assign the color border-style and border-color values for table element
13Element style = document.CreateElement("style");
14style.TextContent = "table { border-style:solid; border-color:rgb(0, 0, 255) }";
15
16// Find the document head element and append style element to the head
17Element head = document.GetElementsByTagName("head").First();
18head.AppendChild(style);
19
20// Save the HTML document to a file
21document.Save(Path.Combine(savePath));
JavaScript-Code 2
1<script>
2 // Create a style element and assign the border-style and border-color values for table element
3 var style = document.createElement("style");
4 style.textContent = "table { border-style:solid; border-color:rgb(0, 0, 255) }";
5
6 // Find the document's <head> element and add a <style> element to it
7 var head = document.getElementsByTagName("head")[0];
8 head.appendChild(style);
9</script>
Die Abbildung zeigt die HTML-Tabelle table.html, nachdem die Farbe des Rahmens von rot auf blau geändert wurde:
HTML Tabellen Generator ist eine Online-Anwendung zur Erstellung von Tabellen mit anpassbaren Optionen. Es ist kostenlos und einfach zu benutzen. Geben Sie einfach alle erforderlichen Optionen ein und erhalten Sie ein Ergebnis!