Flexbox Solution
Плюсы:
Минусы:
То, как он работает, всегда имеет flex-based: auto на элемент с содержанием, и вместо этого переходы flex-grow и flex-shrink.
Редактировать: улучшена JS Fiddle, вдохновленная интерфейсом Xbox One.
* {
margin: 0;
padding: 0;
box-sizing: border-box;
transition: 0.25s;
font-family: monospace;
}
body {
margin: 10px 0 0 10px;
}
.box {
width: 150px;
height: 150px;
margin: 0 2px 10px 0;
background: #2d333b;
border: solid 10px #20262e;
overflow: hidden;
display: inline-flex;
flex-direction: column;
}
.space {
flex-basis: 100%;
flex-grow: 1;
flex-shrink: 0;
}
p {
flex-basis: auto;
flex-grow: 0;
flex-shrink: 1;
background: #20262e;
padding: 10px;
width: 100%;
text-align: left;
color: white;
}
.box:hover .space {
flex-grow: 0;
flex-shrink: 1;
}
.box:hover p {
flex-grow: 1;
flex-shrink: 0;
}
Super Metroid Prime Fusion
Resident Evil 2 Remake
Yolo The Game
Final Fantasy 7 Remake + All Additional DLC + Golden Tophat
DerpVille
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);
string s = doc.DocumentNode.SelectSingleNode("//body").InnerText;
Я бы порекомендовал использовать что-то вроде HTMLTidy.
Вот учебное пособие , которое поможет вам начать работу.
Если вы просто хотите удалить теги html, используйте регулярное выражение, которое удаляет все, что находится между «<» и «>».
Почему вы хотите сделать его серверной частью?
Для этого вам нужно создать элемент контейнера runat = "server"
, а затем взять innerText
элемента.
Вы можете сделать то же самое в javascript, не создавая элемент runat = "server"
Используйте эту функцию ...
public string Strip(string text)
{
return Regex.Replace(text, @"<(.|\n)*?>", string.Empty);
}
Вы можете начать с этой простой функции ниже. Отказ от ответственности: этот код подходит для базового HTML, но не будет обрабатывать все допустимые ситуации HTML и крайние случаи. Теги в кавычках являются примером. Преимущество этого кода в том, что вы можете легко следить за выполнением в отладчике, и его можно легко изменить в соответствии с конкретными крайними случаями.
public static string RemoveTags(string html)
{
string returnStr = "";
bool insideTag = false;
for (int i = 0; i < html.Length; ++i)
{
char c = html[i];
if (c == '<')
insideTag = true;
if (!insideTag)
returnStr += c;
if (c == '>')
insideTag = false;
}
return returnStr;
}