Вы можете задать свой .spannerBg :: before a z-index: -1 и .spannerBg a z-index: 1 [ 1110]
Элемент before теперь движется за своими братьями и сестрами.
.spannerBg {
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
position: relative;
background-color: rgba(255, 150, 0, 0.5);
min-height: 300px;
z-index: 1;
}
.spannerBg::before {
content: "";
display: block !important;
background-color: inherit;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
}
p {
font-size: x-large;
}
<div class="spannerBg" style="
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
background-image:url(https://images.pexels.com/photos/1051075/pexels-photo-1051075.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260)">
<p>Somecontent</p>
</div>
<div>
beiwrfa<br>ewnifiebfia<br>fbjwqbfwebfj<br>
</div>
<div class="spannerBg" style="
background-image:url(https://images.pexels.com/photos/865711/pexels-photo-865711.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260)">
<p>Somecontent</p>
</div>
<div>
<p>somecontent</p>
</div>
Как говорили другие, вы не можете делать то, что просите. Если вы опишите проблему, которую пытаетесь решить, может, кто-то может помочь? Например, вы пытаетесь однозначно идентифицировать своих пользователей? Не могли бы вы использовать куки-файл или идентификатор сеанса, возможно, вместо IP-адреса?
Редактировать Адрес, который вы видите на сервере, не должен быть адресом интернет-провайдера, поскольку вы говорите, что это будет огромный диапазон. Адрес домашнего пользователя в широкополосной сети будет адресом их маршрутизатора, поэтому каждое устройство в доме будет выглядеть одинаково снаружи, но маршрутизатор использует NAT для обеспечения правильной маршрутизации трафика на каждое устройство. Для пользователей, получающих доступ из офисной среды, адрес может быть одинаковым для всех пользователей. Сайты, использующие IP-адрес для идентификации, рискуют ошибиться - приведенные вами примеры являются хорошими, и они часто терпят неудачу. Например, мой офис находится в Великобритании, точка прорыва (где я «появляюсь» в Интернете) находится в другой стране, где находится наше основное ИТ-подразделение, поэтому из моего офиса мой IP-адрес находится не в Великобритании. По этой причине я не могу получить доступ только к британскому веб-контенту, такому как BBC iPlayer). В любой момент времени в моей компании находились сотни или даже тысячи людей, которые, по-видимому, обращаются к Интернету с одного и того же IP-адреса.
Когда вы пишете код сервера, вы никогда не можете быть уверены, какой IP-адрес вы используете. см. имеет в виду. Некоторым пользователям это нравится. Некоторые люди намеренно используют прокси или VPN, чтобы еще больше вас запутать.
Когда вы говорите, что ваш машинный адрес отличается от IP-адреса, указанного в StackOverflow, как вы узнаете свой машинный адрес? Если вы просто просматриваете локально, используя ipconfig
или что-то в этом роде, я ожидаю, что он будет другим по причинам, которые я изложил выше. Если вы хотите перепроверить, что думает внешний мир, взгляните на whatismyipaddress.com/ .
Эта ссылка на Википедию в NAT предоставит вам некоторые сведения об этом.
Часто вам нужно знать IP-адрес кто-то посещает ваш сайт. Хотя в ASP.NET есть несколько способов сделать это, один из лучших способов, которые мы видели, это использование «HTTP_X_FORWARDED_FOR» из коллекции ServerVariables.
Вот почему ...
Иногда ваши посетители находятся за прокси-сервером. сервер или маршрутизатор и стандартный запрос Request.UserHostAddress
захватывает только IP-адрес прокси-сервера или маршрутизатора. В этом случае IP-адрес пользователя сохраняется в переменной сервера («HTTP_X_FORWARDED_FOR»).
Итак, сначала мы хотим проверить «HTTP_X_FORWARDED_FOR» и если он пуст, мы просто возвращаем ServerVariables ("REMOTE_ADDR")
.
Хотя этот метод не является надежным, он может привести к лучшим результатам. Ниже приведен код ASP.NET в VB.NET, взятый из сообщения в блоге Джеймса Кроули «Получено: HTTP_X_FORWARDED_FOR возвращает несколько IP-адресов»
C #
protected string GetIPAddress()
{
System.Web.HttpContext context = System.Web.HttpContext.Current;
string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (!string.IsNullOrEmpty(ipAddress))
{
string[] addresses = ipAddress.Split(',');
if (addresses.Length != 0)
{
return addresses[0];
}
}
return context.Request.ServerVariables["REMOTE_ADDR"];
}
VB.NET
Public Shared Function GetIPAddress() As String
Dim context As System.Web.HttpContext = System.Web.HttpContext.Current
Dim sIPAddress As String = context.Request.ServerVariables("HTTP_X_FORWARDED_FOR")
If String.IsNullOrEmpty(sIPAddress) Then
Return context.Request.ServerVariables("REMOTE_ADDR")
Else
Dim ipArray As String() = sIPAddress.Split(New [Char]() {","c})
Return ipArray(0)
End If
End Function
Что еще вы считаете IP-адресом пользователя? Если вам нужен IP-адрес сетевого адаптера, я боюсь, что в веб-приложении это невозможно. Если ваш пользователь находится за NAT или другим материалом, вы также не можете получить IP-адрес.
Обновление : Хотя существуют веб-сайты, которые используют IP для ограничения пользователя (например, rapidshare), они не работают правильно в средах NAT.
IP-адреса являются частью сетевого уровня в «семиуровневом». стек». Сетевой уровень может делать все, что хочет с IP-адресом. Вот что происходит с прокси-сервером, NAT, ретранслятором и т. Д.
Уровень приложений никоим образом не должен зависеть от IP-адреса. В частности, IP-адрес не должен быть идентификатором чего-либо, кроме идентификатора одного конца сетевого соединения. Как только соединение закрыто, вы должны ожидать изменения IP-адреса (того же пользователя).
Прикладной уровень никоим образом не должен зависеть от IP-адреса. В частности, IP-адрес не должен быть идентификатором чего-либо, кроме идентификатора одного конца сетевого соединения. Как только соединение закрыто, вы должны ожидать изменения IP-адреса (того же пользователя).
Прикладной уровень никоим образом не должен зависеть от IP-адреса. В частности, IP-адрес не должен быть идентификатором чего-либо, кроме идентификатора одного конца сетевого соединения. Как только соединение закрыто, вы должны ожидать изменения IP-адреса (того же пользователя).